Zend framework 如何在zf2中使用帮助器类?

Zend framework 如何在zf2中使用帮助器类?,zend-framework,zend-framework2,Zend Framework,Zend Framework2,我正在使用Zend Framework 2进行web应用。 在控制器操作中,我将创建一些PDF文档。我想使用一个助手类来开发创建PDF的方法。 什么是最好的地方来存放班级?在控制器目录中?还是框架在其架构中提供了更好的位置来实现这一点?或者更好的方法或概念 谢谢大家! 您可以在控制器目录下创建一个名为Plugin的目录。一个好的插件名称将有“插件”终止 如果你的插件只有一个方法,你可以把你的逻辑放在调用方法中: public function __invoke($data) { // [

我正在使用Zend Framework 2进行web应用。 在控制器操作中,我将创建一些PDF文档。我想使用一个助手类来开发创建PDF的方法。 什么是最好的地方来存放班级?在控制器目录中?还是框架在其架构中提供了更好的位置来实现这一点?或者更好的方法或概念


谢谢大家!

您可以在控制器目录下创建一个名为Plugin的目录。一个好的插件名称将有“插件”终止

如果你的插件只有一个方法,你可以把你的逻辑放在调用方法中:

public function __invoke($data)
{
    // [ process $data ]
}
如果没有,并且您需要更多的方法,那么您的invoke方法将必须返回您的插件实例:

public function __invoke()
{
    return $this;
}

public function otherMethod($data)
{
    // [ process $data ]
}
然后,您必须在module.config.php中注册插件,创建一个名为“controller\u plugins”的新密钥:

'controller_plugins' => array(
    'invokables' => array(
        'myPdf' => 'MyModule\Controller\Plugin\MyPdfPlugin',
    ),
),
您可以在module.config.php中使用与每种服务相同的方法:invokables、factories、abstract_factories、别名等等

现在,您可以在控制器中使用它了:

$this->myPdf($data);
如果您有多个方法:

$this->myPdf()->otherMethod($data);