如何向Zend Framework 2添加自定义视图助手

Mat*_*ann 5 php zend-framework zend-view zend-framework2

我之前问过这个问题,我在那里得到了很好的答案.但是,这是针对beta4,并且不再有效.

那么我在哪里以及如何将自己的视图助手添加到ZF2?

Mat*_*ann 17

您应该将它们添加到您的module.config.php下面,view_helpers如下所示:

'view_manager' => array(
    'template_path_stack' => array(
        'ModuleName' => __DIR__ . '/../view',
    ),
),

'view_helpers' => array(
    'factories' => array(
        'showmessages' => function($sm) {
            $helper = new ModuleName\Helper\MessageShower();
            // do stuff with $sm or the $helper
            return $helper;           
        },
    ),
    'invokables' => array(
        'selectmenu' => 'ModuleName\Helper\SelectMenu',   
        'prettyurl'  => 'ModuleName\Helper\PrettyUrl',
    ),  
),
Run Code Online (Sandbox Code Playgroud)

在这里,我展示了创建帮助程序的两种方法.如果他们需要做的只是实例化,只需添加他们的名字(包括命名空间)invokables.如果您需要对它们进行操作ServiceManager,请通过factories关键字创建它们.