我建议CustomPlugin
使用ViewHelperManager
. 您可以在Zend 的手册中找到有关配置的信息。这通常是您的模块的module.config.php
外观:
<?php
return [
'controller_plugins' => [
'invokables' => [
'CustomPlugin' => \MyMethod\Controller\Plugin\CustomPlugin::class
],
],
];
要将其注册为视图助手,您需要添加:
<?php
return [
'controller_plugins' => [
'invokables' => [
'CustomPlugin' => \MyMethod\Controller\Plugin\CustomPlugin::class
],
],
'view_helpers' => [
'invokables' => [
'CustomPlugin' => \MyMethod\Controller\Plugin\CustomPlugin::class
]
],
];
这个新配置将允许您$this->CustomPlugin()
从控制器和视图中调用。现在,您可能会遇到需要将依赖项注入您的插件/视图助手的情况。在这种情况下,您可以简单地创建一个工厂类来处理查找和注入依赖项并将您的配置更改为:
<?php
return [
'controller_plugins' => [
'factories' => [
'CustomPlugin' => \MyMethod\Controller\Plugin\CustomPlugin::class
],
],
'view_helpers' => [
'factories' => [
'CustomPlugin' => \MyMethod\Controller\Plugin\CustomPlugin::class
]
],
];
现在,当调用插件/视图助手时,工厂将运行并组装所需的类。如果您有任何问题,请告诉我。配置中有很大的灵活性,并且具有特定的要求或CustomPlugin
类的示例,您的Module.php
/ module.config.php
config 可以提供您正在寻找的更准确的示例。