1

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.

ngoCham
  • 17
  • 3

0 Answers0