Можно ли использовать Zend Service Manager с пользовательской базой кода?

Я хотел бы использовать Zend Service Manager в моей пользовательской базе кода. Он не построен на Zend MVC, и вместо этого я использую только несколько пакетов Zend, таких как Zend Console и Zend Config.

Я хотел бы использовать Zend Service Manager с функциональностью, как только код входит в мой класс Core, я хотел бы инициализировать объекты DB и Config и сохранить их как сервис в Zend Service Manager. Теперь я хотел бы использовать этот сервис на всей моей базе кода.

Есть ли способ использовать его, не передавая менеджер сервисов в конструктор каждого класса? Кроме того, другие мои классы не будут расширяться из этого базового класса, и вместо этого этот базовый класс будет создавать объекты на основе моих требований.

Вот как я создаю сервис:

    $config = \Zend\Config\Factory::fromFiles([
APPLICATION_PATH . '/config/config.ini',
APPLICATION_PATH . '/config/' . $route->getMatchedParam('brand') . '/' . $route->getMatchedParam('department') . '/config.ini',
]);

$serviceManager = new ServiceManager([
'factories' => [
stdClass::class => InvokableFactory::class,
],
]);

$serviceManager->setService('config', $config);

0

Решение

Да, вы можете использовать его где угодно. Это лучшая часть ZF, вы можете использовать его части в любом месте. И нет, вам не нужно передавать конфигурацию по методу конструкции. Он имеет методы setFactory и setService, а также множество других. проверять, выписываться документация

0

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

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

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