Download the PHP package alvariumsoft/laravel-filters without Composer

On this page you can find all versions of the php package alvariumsoft/laravel-filters. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-filters

laravel-filters

Laravel 6 License

Пакет для работы с фильтрами в Laravel-6

Установка

Установка пакета с помощью Composer.

Добавьте в файл config/app.php вашего проекта в конец массива providers :

После этого выполните в консоли команду публикации нужных ресурсов:

Использование

В файле config\filters.php находится массив, в котором нужно указать классы сервисов. Например:

Классы для своих сервисов нужно создавать в папке app\Alvarium.

Класс сервиса должен иметь соответствующее пространство имен: namespace App\Alvarium\Filters\Services\Data. Так же класс сервиса должен включать соответствующий интерфейс и реализовывать его методы.

Примеры

В публикуемых папках Defaults (App\Alvarium\Filters\Services\Data\Defaults) есть примеры всех сервисов по умолчанию. Для большинства случаев их будет достаточно. Если же нужно изменить или дополнить функциональность, создаем по примерам свои сервисы и подключаем их в файле конфигурации.

Принцип работы

Допустим мы имеем следующие таблицы и соответствующие им модели (приведены основные поля):

Свойства в таблице products должны храниться в поле properties (json) в таком виде:

Где значения - это slug property_enums. Если у вас поля или таблицы сходны по структуре, но называются иначе, вы можете их просто переименовать в сервисе \App\Alvarium\Filters\Services\Data\Defaults\DefaultState::class.

У нас есть маршрут фильтров для подкатегорий:

Т.е. два первых параметра фильтров уйдут в сегменты, о стальные в GET параметры.

У нас есть action контроллера:

Сервисы

В папку app\Alvarium публикуется структура папок сервисов и все сервисы по умолчанию, которые подойдут для большинства случаев. Вы можете по образу создать свои сервисы и переподключить их в файле config\filters.php.

Сервис для запросов к базе и получения всех необработанных данных из базы. Реализован синглтон, чтобы не было повторных запросов и был доступ в любых других сервисах. Рекомендуется все запросы к базе выполнять только здесь, а потом обрабатывать их сервисами.

Сервис для обработки полученных данных из базы, вытягивания и группирования фильтров. Это самый трудоемкий участок, поэтому его результаты кешируются. Кеши нужно бужет сбрасывать при обновлении данных в базе самостоятельно. Время кеша определяется в файле конфигурации.

Сервис для генерации классов фильтров, классы также необходимо создать. Класссы фильтров отвечают за формирование конечных данных из сырых дфнных. Сервис отвечает за определение того объекты, какого класса создавать.

Сервис формирующий результирующий массив, здесь можно изменить его структуру. Массив формируется с помощью классов, описанных в предыдущем сервисе.

Сервис для генерации ссылок.

В этом разделе файла конфигурации указываем классы middleware, которые выполнятся по порядку и произведут дополнительные операции над сформированными фильтрами. Они все должны реализовывать интерфейс Alvarium\Filters\Middlewares\Middleware. По умолчанию реализована сортировка фильтров.

Сервис, который разбирает входящие параметры, также здесь можно определить какие будут в сегментах, какие в GET-параметрах.

Сервис, который декорирует все запросы по выбранным фильтрам, чтобы отфильтровать продукты. Также в этом неймспейсе определяем сами запросы.


All versions of laravel-filters with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2
laravel/framework Version ^6.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package alvariumsoft/laravel-filters contains the following files

Loading the files please wait ....