如何在Zend 2中实例化视图助手插件的多个实例?
每次从视图中调用$this->pluginName();
时,我都想返回一个新实例。
如何返回视图插件的新实例?
答案 0 :(得分:2)
将服务名称添加到getViewHelperConfig()
中的shared
Module.php
配置密钥,并将此值设置为false
<强> Module.php 强>
function getViewHelperConfig()
{
return array(
'shared' => array(
'MyViewHelper' => false,
),
'factories' => array(
'MyViewHelper' => 'App\View\Helper\MyViewHelperFactory',
)
);
}
通过添加'MyViewHelper' => false
,服务管理器(或View Helper插件管理器)将在每次使用时创建该服务的新实例。
shared 服务名称/布尔对的数组,指示是否应共享服务。默认情况下,ServiceManager假定所有服务都是共享的,但您可以在此处指定一个布尔值false以指示应返回一个新实例。