Фабрика не загружается в 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

Другие вопросы по тегам