Service container в Laravel - архитектурная концепция и инъекции зависимостей в Ларавел
В сегодняшнем уроке мы затронем важную и интересную тему это service container (ларавел сервис контейнер). Это архитектурная концепция в Laravel, её важно знать и понимать, но для многих новичков она может являться темным лесом.
#serviceconteiner#laravel#cutcode
❗️❗️❗️как делать сложные сайты на laravel? Это просто с cutcode!
Поддерживай мой проект -
Угостить меня кофе -
🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут -
---------------------------------------------------------------------------------
⏰ Таймкоды:
00:00 Введение
00:27 Обзор документации по Laravel
02:00 Небольшая история как я изучал service container много лет назад
02:58 Пример с инъекцией класса
04:48 Что происходит при указании типа аргумента
06:01 Пример с инъекцией интерфейса
Друзья всех приветствую на канале Cutcode! В сегодняшнем уроке мы затронем важную и интересную тему это service container (ларавел сервис контейнер). Это архитектурная концепция в Laravel, её важно знать и понимать, но для многих новичков она может являться темным лесом.
В документации по Laravel о ней подробно расписано, но здесь много сложного непонятного текста. Поэтому мы сейчас попробуем ее осветить на примере простыми словами, чтобы все сразу стало понятным и в будущем когда вы услышите такую фразу как сервис контейнер сразу понимали о чем речь и как это все работает, вся эта магия.
В документации мы сразу видим простой пример видим контроллера service container работают у нас как описано в документации в контроллерах, в event листнерах, мидлварах и еще кое-где. Но скажу вам сразу в 90 процентов случаев, а то и больше применяется это только в контроллерах. Поэтому мы сегодняшнем уроке будем как раз рассматривать контроллеры.
Возвращаемся к документации где а нам показан простой пример. В примере контроллере user есть метод construct. Это так же может быть и любой другой метод в этом контроллере. Ну и в любых других контроллерах Laravel.
Мы значит передаем аргумент функции users с указанием типом класс users репозитории. При этом как раз в Laravel происходит это магия service container и у нас создается экземпляр класса user репозитории с которой мы уже можем работать внутри этого метода. Мы также можем передавать любой свой класс и можем передавать и делать инъекции нескольких классов, указывая их через запятую. Немного отходя от документации скажу что когда я только начинал изучение Laravel а это была версия 6 или даже 5 и по умолчанию при генерации контроллера через командную строку был метод index по умолчанию и у него было как раз инъекция фасада request. И я думал что это по умолчанию доступны нам только фасад request, либо форм request либо какие-либо параметры из route, а уже позже углубился в концепцию Laravel и понял как это интересно все работает.
Помимо инъекции класса мы также можем делать инъекцию интерфейсов и позже их биндить какому-либо классу который наследует этот интерфейс. Но об этом мы уже поговорим сейчас более детально в примерах, чтобы стало более понятно, когда и зачем такой подход нужно применять.
Давайте откроем код и пройдемся по живым примерам.
---------------------------------------------------------------------------------
📹 делитесь этим видео с друзьями:
🔔 подпишитесь на YouTube-канал:
📼 Курс по Laravel с нуля:
Service conteiner в Laravel - архитектурная концепция и инъекции в Ларавел
---------------------------------------------------------------------------------
🔗 наш сайт:
📷 наш instagram: 📱 Наш telegram-канал: