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