Почему не передается 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 - сам проект.

21 Авг 2019 в 07:08
254 +1
0
Ответы
1

Ошибка возникает потому, что вы пытаетесь передать сервис контейнер (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.

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир