5

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

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

4

2 回答 2

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

于 2012-07-09T11:21:48.250 回答
1

beta5 有一个关于 servicemanager 的 BC。这也适用于视图助手管理器。看看这里——甚至还有一个视图助手的例子。

于 2012-07-09T10:44:27.090 回答