Источник: Nuances of Programming Перейдем сразу к сценарию: нужно на основе определенных фильтров получить список пользователей. Например, всех пользователей от 10 до 20 лет с активным статусом. Казалось бы, все просто и выполнимо: добавляем несколько операторов if else для построения запроса в Eloquent, и готово! Веб-приложение отлично работает, и клиенты очень довольны… Но через несколько месяцев требуется добавить еще фильтров и более сложную бизнес-логику. И вот функция разрастается уже до нескольких сотен строк, а отладка превращается в кошмар! Как же теперь с этим справиться? Вы что-нибудь слышали о pipeline? Pipeline (конвейер) — это красивый шаблон проектирования объектно-ориентированного программирования (ООП). Его название говорит само за себя. Объект отправляется в конвейер, где он проходит несколько задач, прежде чем достигнет окончательной формы. Для использования конвейера не нужно устанавливать никаких пакетов — в Laravel уже давно все интегрировано. Остается только
Laravel: неизвестный, но эффективный способ реализации фильтров в Eloquent
19 февраля 202219 фев 2022
44
2 мин