Почему не передается Container в конструктор? Симфа кидает ошибку:ContextErrorException: Catchable Fatal Error: Argument 1 passed to Uasector\UserBundle\UserProvider\AbstractSocialNetworkProvider::__construct() must be an instance of Symfony\Component\DependencyInjection\Container, none given, called in /Users/roman/Development/Sites/uasector.dev/app/cache/dev/appDevDebugProjectContainer.php on line 5846 and defined in /Users/roman/Development/Sites/uasector.dev/src/Uasector/UserBundle/UserProvider/AbstractSocialNetworkProvider.php line 33AbstractSocialNetworkProvider.php line 33:public function __construct(Container $container, $kernelWebDir, $uploadDir, $defaultAvatarPath) Как я понимаю, в конструктор не передается передается объект Container. Почему такое может быть? Вот, сервис:services: uasector_user.uasector_abstract_user_data_service: class: %uasector.user.abstract_social_network_provider.class% arguments: ['@service_container', '%kernel.root_dir%', '%uasector_user.image.upload_directory%', '%uasector_user.image.default_avatar_path%']https://github.com/RomanGorbatko/sy2 - сам проект.
Ошибка возникает потому, что вы пытаетесь передать сервис контейнер (Container) в качестве аргумента в конструктор класса AbstractSocialNetworkProvider, но в самом конструкторе этого класса не объявлен параметр для контейнера.
Чтобы исправить эту ошибку, вам необходимо удалить параметр containerизспискааргументовконструктораклассаAbstractSocialNetworkProvider.ВместоэтоговыможетеполучитьдоступкконтейнеруSymfonyвнутривашегокласса,используяметодcontainer из списка аргументов конструктора класса AbstractSocialNetworkProvider. Вместо этого вы можете получить доступ к контейнеру Symfony внутри вашего класса, используя метод containerизспискааргументовконструктораклассаAbstractSocialNetworkProvider.ВместоэтоговыможетеполучитьдоступкконтейнеруSymfonyвнутривашегокласса,используяметодthis->container.
Вот пример того, как можно изменить конструктор класса AbstractSocialNetworkProvider:
public function __construct(kernelWebDir,kernelWebDir, kernelWebDir,uploadDir, $defaultAvatarPath) { $this->kernelWebDir = kernelWebDir;kernelWebDir; kernelWebDir;this->uploadDir = uploadDir;uploadDir; uploadDir;this->defaultAvatarPath = $defaultAvatarPath; }
После внесения этих изменений у вас не должно возникать ошибки при создании экземпляра класса AbstractSocialNetworkProvider.
Ошибка возникает потому, что вы пытаетесь передать сервис контейнер (Container) в качестве аргумента в конструктор класса AbstractSocialNetworkProvider, но в самом конструкторе этого класса не объявлен параметр для контейнера.
Чтобы исправить эту ошибку, вам необходимо удалить параметр containerизспискааргументовконструктораклассаAbstractSocialNetworkProvider.ВместоэтоговыможетеполучитьдоступкконтейнеруSymfonyвнутривашегокласса,используяметодcontainer из списка аргументов конструктора класса AbstractSocialNetworkProvider. Вместо этого вы можете получить доступ к контейнеру Symfony внутри вашего класса, используя метод containerизспискааргументовконструктораклассаAbstractSocialNetworkProvider.ВместоэтоговыможетеполучитьдоступкконтейнеруSymfonyвнутривашегокласса,используяметодthis->container.
Вот пример того, как можно изменить конструктор класса AbstractSocialNetworkProvider:
public function __construct(kernelWebDir,kernelWebDir, kernelWebDir,uploadDir, $defaultAvatarPath){
$this->kernelWebDir = kernelWebDir;kernelWebDir;
kernelWebDir;this->uploadDir = uploadDir;uploadDir;
uploadDir;this->defaultAvatarPath = $defaultAvatarPath;
}
После внесения этих изменений у вас не должно возникать ошибки при создании экземпляра класса AbstractSocialNetworkProvider.