Несколько экземпляров плагина помощника вида?
Как создать несколько экземпляров плагина помощника вида в Zend 2?
Я хочу вернуть новый экземпляр каждый раз, когда я звоню $this->pluginName();
с точки зрения.
Как мне вернуть новый экземпляр плагина вида?
1 ответ
Добавьте название сервиса к 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, чтобы указать, что должен быть возвращен новый экземпляр.