Фабрика не загружается в ZF2 - Отсутствует аргумент 1
У меня есть завод в Module/src/Module/Service/Factory/CourseServiceFactory.php
Я определил эту фабрику в module.config.php
следующее:
'service_manager' => array(
'factories' => array(
'CourseServiceFactory' => 'Module\Service\Factory\CourseServiceFactory',
),
),
Однако эта фабрика не загружается при вызове приложения, и я получаю эту ошибку:
Предупреждение: отсутствует аргумент 1 для Module\Service\CourseService::__construct(),
Вот так выглядит мой CourseServiceFactory.php:
public function createService(ServiceLocatorInterface $serviceLocator)
{
$config = $serviceLocator->get('config');
return new CourseService($config);
}
Кто-нибудь есть идеи, что случилось?
1 ответ
Я подозреваю, что вы не реализуете интерфейс фабрики, который приводит к тому, что загрузчик сервисов внедряется в конструктор.
Убедитесь, что ваш завод реализует:
Zend \ ServiceManager \ FactoryInterface
Смотрите пример завода здесь
https://framework.zend.com/manual/2.4/en/in-depth-guide/services-and-servicemanager.html