У меня проблема с внедрением зависимостей в MVC / Console с использованием фабрики
Я создал фабрики
public function __invoke(ContainerInterface $container, $requestedName,
array $options = null)
{
return new BaseController($container->get(\Application\Controller\Test::class));
}
Я вставил в application.config.php
return [ 'service_manager' => [
'factories' => [
BaseController::class => BaseControllerFactory::class ],
]]
и я запускаю свое приложение вот так
Application::init($appConfig)->run()
Я также повторил $appConfig['service_manager']
и результат был:
array(10) {
'factories' =>
array(1) {
'Application\Controller\BaseController' =>
string(44) "Application\Controller\BaseControllerFactory"
}
Когда я запускаю свое приложение и пытаюсь нажатьКонтроллер консоли сообщает:
===================================================================== Приложение выдало исключение! ====================================================================== ArgumentCountError Слишком мало аргументов для функции Application \ Controller \ BaseController :: __ construct (), 0 передано в ... \ skeleton \ vendor \ zendframework \zend-servicemanager \ src \ Factory \ Invokabl eFactory.php в строке 30 и ожидается ровно 1