Сервис контейнер и Сервис провайдер в Laravel | Курс по Laravel 8
HTML-код
- Опубликовано: 1 окт 2024
- Сервис контейнер и сервис провайдер в Laravel
Полный Интенсив по Laravel: laravel-webina...
Подписка на канал: / mzcoding
Презентация: disk.yandex.ru...
Мой сайт: mzcoding.com
Патрон: / mzcoding
Группа в ВК: club189...
Канал в телеграм: t.me/mzcoding_...
Мой instagram: /
Группа в Facebook: / mzcoding
Поддержать автора на выпуск новых видео:
yoomoney.ru/to...
www.paypal.com...
Очень понятное разъяснение, спасибо большое!
Подписка 😊
Спасибо. Очень важная тема. Полезно смотреть перед собеседованием))
А ещё с помощью сервис провайдера можно сделать модульную систему, подключать там миграции, модели, и т.д. Вынести код из общей свалки
все круто, но мне не понятно, зачем регистрировать если и так по умолчанию можно передать в конструктор или метод наш сервис он так же создаст объект с которым можно работать? Просто действительно хочу в этом разобраться. Сейчас в 8 ларке создал тест контроллер с методом calculate, который принимает реквест и сервис. В папке сервис создал класс прайс сервис. с тем же методами что на видео. Провайдер не создавал, сервис не регистрировал, в config/app.php ничего не прописывал. Вызвал сервис внутри метода calculate, передел массив гет параметров и все работает. Помогите разобраться зачем регистрировать если и так работает? Или нужно регистрировать если сервис так же имеет иньекцию? Или еще зачем?
Если вы нашли ответ, можете поделиться им пожалуйста, меня также интересует, зачем это все делать, если и без этого работает?
Laravel основан на модели MVC. Но в нынешних реалиях этого не хватает.
Разберем работу с сервисами и провайдерами на простом ассоциативном примере:
Роут - указатели в торговом центре,
Вьювы - витрины,
Контроллеры - магазины.
Клиент заходит в торговый центр (на сайт), его направляют по указателям (роутам) в магазин (контроллер) и показывают товар на витрине (вьюв) по запросу юзера.
А теперь усложняем: В магазине (контроллере) не так и много места, часть товара храниться на складе (сервисы) и чтоб не загромождать магазин, нужный товар запрашивается на складе через систему учета (Провайдер). То есть, чтобы не плодить в контроллере сотни функций - выносите их в сервисы.
Так понятно?
Суть ответа лежит в конце видео автора, теперь вам не нужно объявлять класс сервиса внутри магического метода __constuct, он доступен постоянно без инициализации.
В том числе переиспользуя ваш сервис в разных контроллерах его не нужно постоянно подключать ( в том же __constuct)
Всё правильно, прямая инъекция и так работает, без регистрации провайдера.
Если необходимо заинджектить класс с переданным в него значением в конструктор тогда на помощь и приходит провайдер@@nartosligiyery7789
в Конце ролика было сказано: "можно на основе интерфейса регистрировать эти классы" - можно об этом поподробнее, совсем непонятно, при чем тут интерфейсы.
Не понятно потому что путаница с провайдером и сервиспровайдером. Контейнером и сервисконтейнером нет уверенности что это одно и тоже.
Мигрирую с WP на Laravel, поэтому разбираю фреймворк. Могу сказать, что это замечательный урок. Пожалуй, просмотрю весь видеоряд. Подписка однозначно
Круто, спасибо за подробное обьяснение
Так а зачем это все? Если laravel автоматом сделает эту инъекцию? и так?
Всё круто! Спасибо большое. Есть немного непонятная причина почему вы говорите АПЭПЭ, а ЭП?
Глупая привычка :)
@@mzcoding и бинд, вместо байнд )))
Потому что это не курсы английского языка
Спасибо. Очень важная тема.
Подскажи пожалуйста как мне сделать слуг на title column которое сохраняется в 4 разных языках в json объекте логику не могу сделать
Или есть другой вариант проекта пользовался package astrotomic laravel translatable 4 раз ных языках не json string
Для етого надо тоже сделать слуг
этот видос в 10 раз полезнее документации ларавеля перечитал несколько раз доку ниче не понял посмотрел 30 минутный видос все понял