Pipelines в Laravel. Для тех кто не знал.
Для тех, кто не знал. Как использовать pipeline для реализации фильтров в проектах на Laravel. #Pipelines#laravel#cutcode --------------------------------------------------------------------------------- ❗️❗️❗️Присоединяйся к нашему комьюнити в телеграм - там и советом помогут и много интересного - https://t.me/laravel_chat Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - https://cutcode.ru/chat-bot --------------------------------------------------------------------------------- ⏰ Таймкоды: 0000 Введение 0033 Обзор проекта 0204 Документация о pipelines 0433 Реализация фильтра с pipeline 0842 Проверка работы и подведение итогов Всех поклонников Laravel я приветствую на канале CutCode! Сегодня у нас снова рубрика "для тех кто не знал", в которые будут давать небольшие советы либо демонстрировать фичи из мира laravel, livewire и так далее кто-то мог о них не знать, а кому-то они надеюсь даже пригодятся! Не забудьте об этом поделиться в комментариях и обязательно прожать лайк - я буду крайне благодарен! А мы начинаем погнали! Друзья сегодня мы разберемся с вами с пайплайнами, пайпами. Вы меня об этом уже просили, но я успешно об этом забыл. Но в последнем ролике из рубрики "плохой, хороший код" я получил плохую оценку от одного из комментаторов, но ему все равно спасибо за то что напомнил про пайпы. И сейчас мы последуем его совету и переделаем наш подход с фильтрами в сторону пайплайнов. На мой взгляд в данном случае польза это нам не даст и в конце я объясню почему, но в целом это хороший пример. Те кто не понимают о каких фильтрах идёт речь советую посмотреть рубрику "плохой, хороший код" о фильтрах и вернуться назад. Но бегло я и сейчас расскажу что у нас было. Итак есть у нас фильтры их много все они реализованы через отдельные классы. Давайте откроем код - которые у нас подключаются в сервис провайдере. А далее в скопе у модели мы их все перебираем и применяем тем самым трансформируем наш queryBuilder, добавляя необходимые запросы. Вот так просто через foreach и здесь в целом мы можем переделать этот foreach с трансформацией запросов через пайпы. Для начала давайте поговорим что такое pipelines и почему у большинства с ними проблемы? Здесь все просто и если мы уйдем в документацию и поищем pipelines то мы толком ничего не найдем. Давайте попробуем - итак мы видим что есть методы, связанные с пайпами в рамках коллекций и строк, но также знаем что это всего лишь обвертки, как тот же мэп или фильтр что просто обвертка над нативным array map либо array фильтр и все это с fluent интерфейсом исключительно для нашего с вами удобства. Получается что в итоге мы все равно не понимаем что такое пайпы и чтобы понять нам необходимо заглянуть в другой раздел документации а именно api documentation здесь описан весь интерфейс фреймворка и думаю после того как новичок сюда заглянет он сразу же и сбежит. Понять что здесь происходит не так просто. Но давайте попробуем и поищем пайпы здесь вот похожий на pipelines класс. Да друзья это нео