Загрузка...

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
Страницу в закладки Мои закладки
Все заметки Новая заметка Страницу в заметки