我之前曾问过this问题,我在那里得到了很好的答案。 但是,那是针对beta4的,不再有效。
那么我在哪里以及如何将自己的视图助手添加到ZF2?
答案 0 :(得分: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',
),
),
这里我展示了创建帮助程序的两种方法。如果他们需要做的就是实例化,只需将他们的名字(包括命名空间)添加为invokables
。如果您需要对它们或ServiceManager
执行操作,请通过factories
关键字创建它们。
答案 1 :(得分:1)
beta5有关于服务管理员的BC。这也适用于视图助手管理器。看看here - 甚至还有一个视图帮助器的例子。