Какие части Zend Framework 2 можно легко заменить пользовательскими классами?

Zend Framework 2 предоставляет возможность использовать пользовательские классы вместо invokables поставляется с рамкой. Например. ViewHelper классы:

namespace Application;

...

class Module {

public function onBootstrap(MvcEvent $mvcEvent) {
$application = $mvcEvent->getApplication();
$serviceManager = $application->getServiceManager();
$viewHelperManager = $serviceManager->get('ViewHelperManager');
$viewHelperManager->setInvokableClass('headmeta', 'MyNamespace\View\Helper\HeadMeta');
}

...

public function getAutoloaderConfig() {
return array(
...
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
'MyNamespace' => __DIR__ . '/../../vendor/MyNamespace/library/MyNamespace',
),
),
);
}

}

Итак, все invocableс (особенно ViewHelpers) можно заменить. Что-то еще? Есть ли список типов классов, которые можно заменить на пользовательские, например invokables (с использованием ServiceManager / EventManager)?

0

Решение

Я предполагаю, что все, что заканчивается ‘в’ диспетчере сервисов / плагинов, может быть заменено. Вы можете проверить такие места, как контроллер, Посмотреть или же элемент формы классы менеджера плагинов. Вы также можете попробовать сбросить весь объект Service Manager и посмотреть, какие ключи он содержит, и попытаться перезаписать их в своем Module класс (используя тот же класс обслуживания, что и оригинал, например, перезаписывая созданный на фабрике сервис другим заводом).

0

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

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

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