私を助けてください、私は 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;
?>
私を助けてください。よろしくお願いします。