我之前问过这个问题,得到了很好的答案。然而,这是针对beta4的,不再有效。
那么,在哪里以及如何将我自己的视图助手添加到ZF2中呢?
您应该将它们添加到view_helpers
下的module.config.php
中,如下所示:
'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
关键字创建它们。
beta5有一个关于servicemanager的BC。这也适用于视图助手管理器。看看这里——甚至还有一个视图辅助对象的例子。