Просмотр расширения вспомогательного плагина в ZF2

Я хочу расширить, например, Zend\View\Helper\HeadMeta с моим собственным классом, и я создаю фабрику для него и называю его

public function getViewHelperConfig()
{
return array(
'factories' => array(
'MyHeadMeta' => __NAMESPACE__ . '\View\Helper\Service\MyHeadMetaService',
),
);
}

от Module.php, но у меня есть

$this->view

является null в MyHeadMeta класс, если я назову это

$this->MyHeadMeta()->setCharset('utf-8');

в моем представлении файла.

Как правильно создать экземпляр моего помощника по просмотру?

ОБНОВИТЬ

Мой класс выглядит примерно так:

MyHeadMeta.php

use Zend\View\Helper\HeadMeta;

class MyHeadMeta extends HeadMeta
{
//
}

ОБНОВЛЕНИЕ 2

MyHeadMetaService.php

class MyHeadMetaService implements FactoryInterface
{
public function createService(ServiceLocatorInterface $serviceLocator)
{
$viewHelper = new MyHeadMeta();
// some settings to set...
return $viewHelper;
}
}

1

Решение

Если вы только расширяете существующие HeadMeta класс, то вы должны зарегистрировать его в качестве вызываемого как это сделано с оригиналом HeadMeta посмотреть помощник в HelperPluginManager,

Так что измените ваш конфиг так:

return array(
'invokables' => array(
'MyHeadMeta' => 'View\Helper\Service\MyHeadMetaService'
)
);

Кстати, я не думаю, что необходимо использовать полный путь с __NAMESPACE__, Просто убедитесь, что имя указывает на правильный путь к файлу и папке вашего класса в текущем модуле и объявите namespace постоянная в классе.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]