Please help me, I am newbie with zend framework and OPP. I am building a viewhelper class, which contain a input hidden (called: ITinputhidden) extends from FormHidden (use Zend\Form\View\Helper\FormHidden and use Zend\Form\Element). I also declared the class in Module.php (function: getViewHelperConfig). But there is a warning when access:
Strict Standards: Declaration of ITEquip\Form\View\Helper\FormHidden::__invoke() should be compatible with Zend\Form\View\Helper\FormInput::__invoke(Zend\Form\ElementInterface $element = NULL) in C:\xampp\htdocs\itequip.mvn\library\ITEquip\Form\View\Helper\FormHidden.php on line 10
Maybe cause is method magic __invoke in my view helper don't compatible with __invoke in Zend. (In __invoke method of viewhelper, I using 2 varibales: $name and $value , but there is only one variable ($element = NULL) in __invoke of Zend\Form\ElementInterface. But I can't fix it. How will I do?
Please see my code: My viewhelper file (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 file
public function getViewHelperConfig(){
return array(
'invokables' =>array(
'ITFormHidden' => '\ITEquip\Form\View\Helper\FormHidden',
)
);
}
Index.phtml file
<?php
//CREATE INPUT HIDDEN
$inputHiddenOrder = $this->ITFormHidden('order','ASC');
$inputHiddenOrderby = $this->ITFormHidden('order_by','colorcode');
$strInputHidden = $inputHiddenOrder. $inputHiddenOrderby;
echo $strInputHidden;
?>
Please help me. Thank you in advanced.