viewhelper中的__invoke声明应与父类兼容

时间:2017-06-29 07:28:07

标签: php forms zend-framework invoke viewhelper

请帮助我,我是zend框架和OPP的新手。 我正在构建一个viewhelper类,其中包含一个隐藏的输入(称为:ITinputhidden),从FormHidden扩展(使用Zend \ Form \ View \ Helper \ FormHidden并使用Zend \ Form \ Element)。我还在Module.php中声明了这个类(函数:getViewHelperConfig)。但访问时会出现警告:

严格标准:ITEquip声明\ Form \ View \ Helper \ FormHidden :: __ invoke()应与Zend \ Form \ View \ Helper \ FormInput :: __ invoke(Zend \ Form \ ElementInterface $ element = NULL)兼容第10行的C:\ xampp \ htdocs \ itequip.mvn \ library \ ITEquip \ Form \ View \ Helper \ FormHidden.php

我的视图助手中的方法魔法__invoke可能因为Zend中的__invoke不兼容。 (在viewhelper的__invoke方法中,我使用2个varibales:$ 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);
   }
}

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;
?>

请帮帮我。 先谢谢你。

0 个答案:

没有答案