1

私を助けてください、私は zend フレームワークと OPP の初心者です。FormHidden (Zend\Form\View\Helper\FormHidden を使用し、Zend\Form\Element を使用) から拡張された非表示の入力 (ITinputhidden と呼ばれる) を含むビューヘルパー クラスを構築しています。また、Module.php でクラスを宣言しました (関数: getViewHelperConfig)。ただし、アクセス時に警告があります。

厳格な基準: ITEquip\Form\View\Helper\FormHidden::__invoke() の宣言は、C:\ の Zend\Form\View\Helper\FormInput::__invoke(Zend\Form\ElementInterface $element = NULL) と互換性がある必要があります。 xampp\htdocs\itequip.mvn\library\ITEquip\Form\View\Helper\FormHidden.php 行 10

おそらく原因は、ビュー ヘルパーのメソッド マジック __invoke が Zend の __invoke と互換性がないことです。(viewhelper の __invoke メソッドでは、$name と $value の 2 つの変数を使用していますが、Zend\Form\ElementInterface の __invoke には変数 ($element = NULL) が 1 つしかありません。しかし、修正できません。行う?

私のコードを参照してください: 私のビューヘルパー ファイル (FormHidden.php):

namespace ITEquip\Form\View\Helper;

use Zend\Form\View\Helper\FormHidden as ZendFormHidden;
use Zend\Form\Element;


class FormHidden extends ZendFormHidden
{
   public function __invoke($name,$value) {
    $element = new Element\Hidden($name);
    $element->setValue($value);
    return $this->render($element);
   }
}

Module.php ファイル

public function getViewHelperConfig(){
    return array(
            'invokables'    =>array(
                'ITFormHidden'  => '\ITEquip\Form\View\Helper\FormHidden',
            )
    );  
}

Index.phtml ファイル

<?php
//CREATE INPUT HIDDEN
$inputHiddenOrder   = $this->ITFormHidden('order','ASC');   
$inputHiddenOrderby = $this->ITFormHidden('order_by','colorcode');  

$strInputHidden     = $inputHiddenOrder. $inputHiddenOrderby;
echo $strInputHidden;
?>

私を助けてください。よろしくお願いします。

4

0 に答える 0