Symfony 4+, лучше использовать container-> get или инжектировать службу в контроллер? - PullRequest
0 голосов
/ 07 августа 2020

Мне интересно, как лучше всего использовать службы в контроллерах в Symfony 4 +.

Контроллер, наследуемый от AbstractController, может получить доступ к функции -> container-> get ("service_name") для получить необходимую услугу. Вторая возможность - внедрить необходимые службы непосредственно в контроллер через файл services.yml. Функция автоматического подключения легко предоставит услуги конструктору контроллера без какой-либо дополнительной настройки.

Кажется, оба подхода работают хорошо, каков самый чистый способ?

1 Ответ

1 голос
/ 07 августа 2020

Внедрение зависимостей дает вам зависимости с подсказками типа, что значительно лучше, чем выборка служб из контейнера со строками псевдонимов. Подсказка типа позволяет вам обнаруживать ошибки намного раньше, чем вы могли бы в противном случае.

Поскольку php движется в сторону более типизированного языка программирования (PHP 7.4 - Типизированные свойства ) ясно, что внедрение зависимостей - это способ go.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...