От автора: фильтрация элементов повсеместно используется в веб-приложениях, потому как она значительно упрощает процесс поиска необходимой информации. К примеру, в интернет-магазинах на страницах вывода списка товаров, как правило, в правом или левом сайдбаре отображается группа фильтров, которые используются посетителями для фильтрации выбранной из базы данных информации по определенным параметрам. В уроке будет рассмотрен один из вариантов создания системы фильтрации в проекте, написанном с использованием фреймворка Laravel.
Механизм фильтров, который будет рассмотрен в этом уроке, довольно простой в понимании и применении для различных проектов, написанных либо с нуля, либо с использованием фреймворков.
При этом его условно можно разделить на две части. Первая часть – это базовая логика функционала тестирования для конкретной модели, которая будет сосредоточена в трейте BaseSearch. И вторая часть – это непосредственно сами фильтры, каждый из которых будет представлен отдельным классом. Причем, хотел бы отметить, что каждая из указанных частей будет представлять собой реализацию соответствующего интерфейса, а значит будет открыта для различных доработок и расширения функционала.