请帮助我,我是zend框架和OPP的新手。我正在构建一个 viewhelper 类,其中包含一个从 FormHidden 扩展的隐藏输入(称为:ITinputhidden)(使用 Zend\Form\View\Helper\FormHidden 并使用 Zend\Form\Element)。我还在 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 方法中,我使用了 2 个变量:$name 和 $value ,但是 Zend\Form\ElementInterface 的 __invoke 中只有一个变量($element = NULL)。但我无法修复它。我将如何做?
请查看我的代码:我的 viewhelper 文件(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);
}
}
模块.php 文件
public function getViewHelperConfig(){
return array(
'invokables' =>array(
'ITFormHidden' => '\ITEquip\Form\View\Helper\FormHidden',
)
);
}
索引.phtml 文件
<?php
//CREATE INPUT HIDDEN
$inputHiddenOrder = $this->ITFormHidden('order','ASC');
$inputHiddenOrderby = $this->ITFormHidden('order_by','colorcode');
$strInputHidden = $inputHiddenOrder. $inputHiddenOrderby;
echo $strInputHidden;
?>
请帮我。提前谢谢你。