Фасад - Сервис провайдер - Сервис контейнер - как это работает. Фреймворк Laravel

Поділитися
Вставка
  • Опубліковано 22 сер 2024
  • Уроки по веб-разработке:
    webformyself.c...
    #сервиспровайдер
    #сервисконтейнер
    #laravel
    #фреймворкlaravel

КОМЕНТАРІ • 73

  • @BlestinG
    @BlestinG 6 років тому +15

    Наконец-то понял, спасибо , лайк уже поставил

  • @user-mw5hf9lb6y
    @user-mw5hf9lb6y 4 роки тому +13

    Спасибо огромное! Еще не плохо было бы отметить, что нужно кешик скинуть после всего этого - php artisan config:cache. А то ж может и не подхватиться.

    • @tmsts2049
      @tmsts2049 4 роки тому +1

      Спасибо за уточнение, а то сидел-тупил некоторое время, смотря на ошибку.
      Мне еще помогло
      php composer.phar dump-autoload -o

  • @danilsmirnov960
    @danilsmirnov960 3 роки тому +4

    Ура! Спасибо, наконец-то понял, весь интернет перерыл! Определенно лайк)

  • @user-dd9ph8fh5d
    @user-dd9ph8fh5d 5 років тому +3

    Вроде понятно, буду пробовать. Спасибо, у других вообще не понятно, не говоря уже о просто статьях

  • @elmre
    @elmre 5 років тому +8

    Спасибо, долго, но разжевал все понятно.

  • @ualikhandulat
    @ualikhandulat 2 роки тому +1

    Большое спасибо за ваш труд!!!!

  • @androidiosgameplay-anrad7256
    @androidiosgameplay-anrad7256 4 роки тому +10

    Внимание если вы сделали все как по видео и ничего не получается выполните команды:
    php artisan config:cache
    php artisan cache:clear

  • @Vlad-em1bx
    @Vlad-em1bx 4 роки тому +1

    Отличный урок!
    Спасибо автору за труд!

  • @eloquent2200
    @eloquent2200 Рік тому

    Спасибо за проделанную работу!

  • @Chaevnicher
    @Chaevnicher 4 роки тому +7

    кодлобстер? че за прикол? есть же шторм
    упд я чето не понял, видео 2018 года, в говнокод в нем родом из 2002: что за повторная проверка $date? для чего она? если вдруг первая как-то неправильно сработает? что за префиксы str: $strDate, почему не string $date? почему одна переменная кемалКейсом, а другая снейк_кейсом? кавычки то одинарные, то двойные? что ты двойными парсишь, не вижу? что это такое вообще?)))

    • @AndrewValeynis
      @AndrewValeynis 4 роки тому +2

      @@user-ci8fs1dc5h это не повод учить говнокодить

    • @pavelnedved1901
      @pavelnedved1901 4 роки тому

      Да я как ide эту увидел сразу дату видео посмотрел, подумал что видео года 2006 )) Есть же студио код на крайняк, нафига это страшилище использовать

    • @pavelnedved1901
      @pavelnedved1901 4 роки тому +3

      Александр Александрович ДА ХОТЬ НА БЕРЕСТЕ ПИШИ ВООБЩЕ ПОХУЮ

  • @user-ix2zz7ci6i
    @user-ix2zz7ci6i 2 місяці тому

    спасибо, наконец понял!

  • @vesh95
    @vesh95 3 роки тому +6

    В плане оформления кода и использования терминологии - ужасно. Однако всё понятно как и что от чего должно зависеть.

  • @eb6006
    @eb6006 3 роки тому +1

    Вот капец тема не простая, спасибо автор!

  • @alexeyalien
    @alexeyalien Рік тому

    Круто! Спасибо!

  • @maryrabinovich5516
    @maryrabinovich5516 3 роки тому +7

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

    • @user-yj5dc2tc1f
      @user-yj5dc2tc1f 3 роки тому +2

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

  • @lisiy1986inh
    @lisiy1986inh 4 роки тому

    Оказалось не всё так сложно! Большое спасибо!

  • @TsA1ex
    @TsA1ex 6 років тому +18

    Всё красиво. Но нет ответа на главный вопрос для чего это всё. Что мешает создать отдельный сервис класс или хелпер и обращаться затем к его методам. При этом ещё в ide будет автодополнение работать в отличие от фасадов

    • @user-of4dc3rh5c
      @user-of4dc3rh5c 6 років тому +1

      Собственно указанная связка - это как раз тот подход который активно используется во фреймворке Laravel, все пакеты и расширения под него, так же используют указанную связку. Что это дает? Это дает очень простой и быстрый доступ к функционалу как из контроллера и так же и из вида, то есть непосредственно из шаблонов, без каких либо дополнительных подключений.
      Конечно можно написать и сервис который будет обладать тем же функционалом, а можно следовать парадигме Laravel, все зависит от поставленных задач и от предпочтений.

    • @TsA1ex
      @TsA1ex 6 років тому +1

      Виктор Гавриленко я имею ввиду только что такой способ именования не показывает методов, доступных в классе. Те, что идут из коробки частично прописаны, для остального есть ide helper. Но писать фасад самому кажется не очень.

    • @user-of4dc3rh5c
      @user-of4dc3rh5c 6 років тому

      Согласен не показывает. Опять же нет идеального и универсального решения, в каждом способе свои плюсы и минусы. И по сути знать нужно все, а применять только наиболее удобный в определенной ситуации.

    • @PoulFly
      @PoulFly 4 роки тому +4

      @@user-of4dc3rh5c а помимо удобства как это улучшает наше приложение? Или удобство это конечная цель этого подхода? Просто куда быстрее создать объект класса и вызвать нужный метод, ну а если нужно во вью такой функционал то можно просто из котроллера передать объект во вью, или в моделе реализовать метод и вызывать с контекста вью.

  • @wollkey
    @wollkey 6 років тому +2

    Спасибо за урок, хотелось бы больше подобных уроков

  • @vasil-vasil
    @vasil-vasil 4 роки тому +2

    Ооочень полезный урок. Но поначалу очень много воды по 2 раза одно и тоже.
    И опять же, очень медленно я на +1,25 speed смотрю.
    Нолайк однозначно. Такие вещи полезны. Спасибо.

    • @alexty1086
      @alexty1086 4 роки тому +1

      А я на 1.75 )

    • @user-qo5ou9uj3g
      @user-qo5ou9uj3g 4 роки тому +1

      LOL
      1.25 и правда в самый раз

  • @immaestro87
    @immaestro87 6 років тому +2

    все очень доступно

  • @PoulFly
    @PoulFly 5 років тому

    спасибо, полезный урок

  • @sashafedorov4226
    @sashafedorov4226 3 роки тому

    Спасибо!

  • @php-b30
    @php-b30 3 роки тому

    Благодарю 🤝

  • @vemirxachatryan8371
    @vemirxachatryan8371 4 роки тому

    Автор красавчик , лайк

  • @Denis-di6hc
    @Denis-di6hc Рік тому

    Суть взаимодействия ясна, но, подводя итог под конец видео, складывается впечатление, что вся эта возня на 30 минут ради того, чтобы не создавать экземпляр класса в одну лишнюю строчку.

  • @user-vn1oz3fx3d
    @user-vn1oz3fx3d 3 роки тому +1

    Тема не раскрыта. Фассады в первую очередь созданы для реализации DI. А не для красоты.

  • @maksimzolotoi3379
    @maksimzolotoi3379 4 роки тому

    Лучшие курсы на российском рынке у вас, я думаю)

  • @romanbush5164
    @romanbush5164 2 роки тому +1

    Круто, но нахрена это надо!

  • @NickOrlovOfficial
    @NickOrlovOfficial 4 роки тому +4

    Сервайс... Неужели не проще говорить "сервис"?))) Ну это такое, называйте как хотите, конечно)

  • @Vlad-em1bx
    @Vlad-em1bx 4 роки тому

    Отличный урок! :)))

    • @Vlad-em1bx
      @Vlad-em1bx 4 роки тому

      Про: Фасад - Сервис провайдер - Сервис контейнер - как это работает.

  • @SupermariobrosRU
    @SupermariobrosRU 5 років тому

    Супер

  • @eb6006
    @eb6006 3 роки тому

    17:15 тайминг сервис контейнеров

  • @Tora20112
    @Tora20112 4 роки тому +2

    А добавить public static function -- разве не заработает ?
    Или это чисто для примера?

    • @maksimzolotoi3379
      @maksimzolotoi3379 4 роки тому

      Tora20112 заработает но видимо это не по архитектуре)

    • @zakharg
      @zakharg 4 роки тому

      Показан простой и не самый удачный пример, суть в хранении обьекта в контейнере и доступ к нему

  • @sunmoon2098
    @sunmoon2098 4 роки тому

    лойк!

  • @ddrdeveloper
    @ddrdeveloper 2 роки тому

    этот материал актуален для 8 версии?

  • @mukhtorov
    @mukhtorov 5 років тому

    Nice

  • @user-yt4py3me1o
    @user-yt4py3me1o 4 роки тому

    liked

  • @alexbayarov3072
    @alexbayarov3072 3 роки тому

    Какая тут версия Laravel ?

  • @prsion1925
    @prsion1925 5 років тому

    Подскажите пож-ста каким плагином или как вы организовали автоматическое обновление страницы в браузере с Ларавелом - заранее спасибо

    • @alexty1086
      @alexty1086 4 роки тому

      Никак, кнопка F5

  • @ptand5350
    @ptand5350 5 років тому +2

    В принципе хорошо использовать структуру фреймворка, но вот в блэйде шаблоне php это по рукам бить надо.

    • @ihorslavinskyi9823
      @ihorslavinskyi9823 4 роки тому

      Певно що ви недочитали 'доки' : ...Blade does not restrict you from using plain PHP code in your views. In fact, all Blade views are compiled into plain PHP code and cached until they are modified... . Це точка зору розробників, далі все справа смаку.

  • @oleksiidanyliuk1122
    @oleksiidanyliuk1122 5 років тому +1

    code style не по psr
    public function isValid()
    {
    bla bla bla
    }

  • @samoilenko_roman
    @samoilenko_roman 6 років тому +5

    вообще не понял для чего это всё

    • @alexty1086
      @alexty1086 4 роки тому

      Упрощённый единообразный доступ к сервису, как и к другим сервисам в рамках приложения Laravel

  • @andreysvitlov7807
    @andreysvitlov7807 2 роки тому

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

  • @user-tn9nw2vp3m
    @user-tn9nw2vp3m 5 років тому +1

    А зачем создавать сервис-провайдер через "Создать файл", когда есть консольная команда php artisan make:provider?

    • @user-rv1yl7hj4d
      @user-rv1yl7hj4d 5 років тому +1

      чтобы никто не думал что сервис провайдер это отпрыск магической артисан команды

  • @chusovles
    @chusovles 5 років тому +1

    Непосредственно сервайсес