Laravel Contracts и PHP интерфейсы. Использование в рамках концепции Service Container
"Сегодняшний ролик будет посвящен контрактам в Ларавел (Laravel Contracts). Изучим что это такое и как их использовать
#php#laravel#cutcode
---------------------------------------------------------------------------------
❗️❗️❗️как делать сложные сайты на laravel? Это просто с cutcode!
Поддерживай мой проект - https://cutcode.dev/?utm_source=rt
Угостить меня кофе - buymeacoffee.com/cutcode
???Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - https://cutcode.dev/chat-bot?utm_source=rt
---------------------------------------------------------------------------------
⏰ Таймкоды:
00:00 Введение
00:38 Что такое интерфейсы в PHP
01:35 Когда нужно использовать интерфейсы
02:32 Laravel Contracts
03:10 Laravel Contracts в рамках концепции Service Container
03:53 Подведение итогов
Всех поклонников Laravel я приветствую на канале Cutcode! И сегодняшний ролик будет посвящен контрактам Laravel: что это такое, как их использовать и в целом концепцию контрактов, так как многие читают документацию, думают что это какой-то отдельный особенный интерфейс, не понимая сути. Но в целом здесь совершенно ничего сложного. Мы немножко отойдем в сторону и поговорим для начала о интерфейсах PHP, для тех кто мало ли не знаком с ними.
Что такое вообще в целом интерфейсы? Они никак не связаны с Laravel, они пришли у нас из PHP. Как написано в самой документации интерфейсы объектов позволяют создавать код, который указывает какие методы должен реализовать класс. То есть по факту это и есть природа контрактов как в реальной жизни - то есть если мы посмотрим на интерфейс, скажем например есть MessengerNotificatorInterface у него есть метод send и все классы которые будут реализовать этот интерфейс должны также реализовывать метод send. То есть они как бы подписывают контракт как и люди, на то что обязаны выполнять какие-либо правила и в данном случае реализовывать метод send. У нас сам интерфейс выглядит следующим образом: имеет одну функцию она у нас пустая - просто указано название, какие аргументы и что возвращает и классы которые реализует.
Также в документации указано когда нужно использовать интерфейсы, что позволит разработчикам создавать объекты разных классов которые могут использоваться взаимозаменяемо. Как раз то что у нас есть и в примере. У нас есть интерфейс MessengerNotificator уведомлениях и юзерам в какие-либо мессенджеры и 2 класса которые его реализуют, как раз таки они взаимозаменяемы. И как раз уходя уже в Laravel и если вы помните тему сервис-контейнера (на канале есть об этом ролик). То мы можем сделать инъекции в любой контроллер с просто интерфейсом Messenger нотификатор и забиндить в сервис-провайдере что этот интерфейс у нас ссылается на какой либо определенный класс, который его реализуют и работать у"
Видео Laravel Contracts и PHP интерфейсы. Использование в рамках концепции Service Container автора Просто о Laravel. CutCode
Видео Laravel Contracts и PHP интерфейсы. Использование в рамках концепции Service Container автора Просто о Laravel. CutCode
Информация
25 июля 2023 г. 0:48:23
00:04:34
Похожие видео