1

在 Zend Framework 2 中,如何让一个视图助手可用于多个模块?

我想要的是有一些通用函数,比如算法函数,可以被多个模块重用。

我目前在 ZF 2 2.0.3

谢谢。

4

2 回答 2

2

除了 kokx 所说的,您还需要为视图助手管理器添加服务管理器配置。这可以通过以下两种方式之一完成:在您的模块配置中,或在您的模块类中。

// module configuration:
return array(
    'view_helpers' => array(
        'invokables' => array(
            'dimmy' => 'DimmyUtil\View\Helper\DimmyUtil',
        ),
    ),
);

或者,在 Module 类中:

namespace DimmyUtil;

class Module
{
     public function getViewHelperConfig()
     {
         return array('factories' => array(
             'dimmy' => function ($helpers) {
                  // do some stuff...
                  return $helper;
             }
         ));
     }
}

一旦你这样做了,视图助手将在任何组成模块的应用程序中可用。

于 2013-01-08T15:10:00.177 回答
2

很简单,把它放在你的一个模块中。您可以使用 ZF2 中其他模块的类和函数。因为 ZF2 中的模块不仅仅是名称空间,其中还包含一些类。因此,如果您创建一个名为 的视图助手\Module\View\Helper\MyHelper,您可以简单地在另一个模块中使用该视图助手。

于 2013-01-07T18:56:51.853 回答