Сервис контейнер и Сервис провайдер в 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...

Комментарии • 23

  • @romanbush5164
    @romanbush5164 2 года назад +2

    А ещё с помощью сервис провайдера можно сделать модульную систему, подключать там миграции, модели, и т.д. Вынести код из общей свалки

  • @redirex7770
    @redirex7770 2 года назад +3

    Очень понятное разъяснение, спасибо большое!
    Подписка 😊

  • @MrDensid
    @MrDensid 2 года назад +3

    все круто, но мне не понятно, зачем регистрировать если и так по умолчанию можно передать в конструктор или метод наш сервис он так же создаст объект с которым можно работать? Просто действительно хочу в этом разобраться. Сейчас в 8 ларке создал тест контроллер с методом calculate, который принимает реквест и сервис. В папке сервис создал класс прайс сервис. с тем же методами что на видео. Провайдер не создавал, сервис не регистрировал, в config/app.php ничего не прописывал. Вызвал сервис внутри метода calculate, передел массив гет параметров и все работает. Помогите разобраться зачем регистрировать если и так работает? Или нужно регистрировать если сервис так же имеет иньекцию? Или еще зачем?

    • @dprhmk
      @dprhmk 2 года назад

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

    • @serdjiostrel
      @serdjiostrel 2 года назад +4

      Laravel основан на модели MVC. Но в нынешних реалиях этого не хватает.
      Разберем работу с сервисами и провайдерами на простом ассоциативном примере:
      Роут - указатели в торговом центре,
      Вьювы - витрины,
      Контроллеры - магазины.
      Клиент заходит в торговый центр (на сайт), его направляют по указателям (роутам) в магазин (контроллер) и показывают товар на витрине (вьюв) по запросу юзера.
      А теперь усложняем: В магазине (контроллере) не так и много места, часть товара храниться на складе (сервисы) и чтоб не загромождать магазин, нужный товар запрашивается на складе через систему учета (Провайдер). То есть, чтобы не плодить в контроллере сотни функций - выносите их в сервисы.
      Так понятно?

    • @AlexSeller-r7l
      @AlexSeller-r7l 2 года назад +1

      Суть ответа лежит в конце видео автора, теперь вам не нужно объявлять класс сервиса внутри магического метода __constuct, он доступен постоянно без инициализации.
      В том числе переиспользуя ваш сервис в разных контроллерах его не нужно постоянно подключать ( в том же __constuct)

    • @nartosligiyery7789
      @nartosligiyery7789 Год назад

      Всё правильно, прямая инъекция и так работает, без регистрации провайдера.

    • @180695
      @180695 10 месяцев назад

      Если необходимо заинджектить класс с переданным в него значением в конструктор тогда на помощь и приходит провайдер@@nartosligiyery7789

  • @plutuss
    @plutuss 3 года назад +7

    Спасибо. Очень важная тема. Полезно смотреть перед собеседованием))

  • @ddrdeveloper
    @ddrdeveloper 2 года назад +1

    в Конце ролика было сказано: "можно на основе интерфейса регистрировать эти классы" - можно об этом поподробнее, совсем непонятно, при чем тут интерфейсы.

  • @АлекандрМарченко-д6г
    @АлекандрМарченко-д6г 2 года назад +1

    Не понятно потому что путаница с провайдером и сервиспровайдером. Контейнером и сервисконтейнером нет уверенности что это одно и тоже.

  • @damirsarkulin1723
    @damirsarkulin1723 2 года назад +2

    Всё круто! Спасибо большое. Есть немного непонятная причина почему вы говорите АПЭПЭ, а ЭП?

    • @mzcoding
      @mzcoding  2 года назад +1

      Глупая привычка :)

    • @redirex7770
      @redirex7770 2 года назад

      @@mzcoding и бинд, вместо байнд )))

    • @Sunsonar
      @Sunsonar 2 года назад +4

      Потому что это не курсы английского языка

  • @vuejs1
    @vuejs1 9 месяцев назад

    Так а зачем это все? Если laravel автоматом сделает эту инъекцию? и так?

  • @АленаЕршова-ъ5ю
    @АленаЕршова-ъ5ю Год назад +1

    Круто, спасибо за подробное обьяснение

  • @АртёмМакурин-м6с
    @АртёмМакурин-м6с 2 года назад +9

    Мигрирую с WP на Laravel, поэтому разбираю фреймворк. Могу сказать, что это замечательный урок. Пожалуй, просмотрю весь видеоряд. Подписка однозначно

  • @vitaercx
    @vitaercx 2 года назад +1

    Спасибо. Очень важная тема.

  • @dilmurod9820
    @dilmurod9820 3 года назад +2

    Подскажи пожалуйста как мне сделать слуг на title column которое сохраняется в 4 разных языках в json объекте логику не могу сделать

    • @dilmurod9820
      @dilmurod9820 3 года назад

      Или есть другой вариант проекта пользовался package astrotomic laravel translatable 4 раз ных языках не json string
      Для етого надо тоже сделать слуг

  • @РусланТопорков-й1п
    @РусланТопорков-й1п 2 года назад

    этот видос в 10 раз полезнее документации ларавеля перечитал несколько раз доку ниче не понял посмотрел 30 минутный видос все понял