kosmosafive/bitrix-filter 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kosmosafive/bitrix-filter

最新稳定版本:1.0.0

Composer 安装命令:

composer require kosmosafive/bitrix-filter

包简介

Bitrix Filter

README 文档

README

Модульное решение предоставляет механизм создания полей фильтра, прием и фильтрацию данных формы, применение модификаций. Является универсальным.

Field (Поле)

Сущность, описывающая поле фильтра. Примеры полей: булево, положительное целое, селектор выбора, функция, пользователь. Хранит конфигурацию поля (FieldConfig), значение поля. Отвечает за нахождение, фильтрацию и нормализацию данных поля в переданных данных формы. По необходимости поле может содержать дополнительный набор параметров. Например, поле выбора периода позволяет указать минимальную и максимальную даты для выбора; указать доступность выбора даты или даты и времени.

FieldConfig (Конфигурация поля)

Конфигурация поля хранит информацию о Свойстве (Property), идентификаторе поля.

Property (Свойство)

Отвечает за хранение информации о поле(-ях) в запросе (читай: название поля или префикс, используемый при построении запроса). Например, свойство номера (идентификатора) сущности обычно предполагает одно значение. В то время как свойство экспертизы хранит информацию об этапах, голосах.

QueryBuilder (Строитель запроса)

Для работы с конкретной реализацией построения запроса реализуется свой строитель. Например, могут быть реализованы: строитель ORM, строитель Elasticsearch, строитель ClickHouse. Принимает коллекцию полей и данные формы. Находит обработчик для полей и применяет требуемые модификации. Например, строитель ORM хранит объект запроса, который обогащается по мере применения модификаций.

HandlerConfig (Конфигурация обработчика)

Хранит информацию об обработчике поля (Handler) и классе поля, которое обрабатывает.

Handler (Обработчик)

Принимает строителя запроса, поле и данные формы. Применяет необходимые модификации на основе полученных данных. Обработчик может описывать различную логику. Например, эквивалентность, частичное содержание, промежуток, функцию.

统计信息

  • 总下载量: 21
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-09-23