Download the PHP package mb4it/conditionable without Composer
On this page you can find all versions of the php package mb4it/conditionable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download mb4it/conditionable
More information about mb4it/conditionable
Files in mb4it/conditionable
Download mb4it/conditionable
More information about mb4it/conditionable
Files in mb4it/conditionable
Vendor mb4it
Package conditionable
Short Description A lightweight PHP library providing a fluent API for building and evaluating complex conditional logic structures.
License MIT
Package conditionable
Short Description A lightweight PHP library providing a fluent API for building and evaluating complex conditional logic structures.
License MIT
Please rate this library. Is it a good library?
Informations about the package conditionable
Conditionable
Легковесная PHP-библиотека с fluent API для построения и вычисления сложных условных логических структур.
Возможности
- Fluent API: Интуитивно понятный интерфейс для построения условий
- Гибкие операторы: Поддержка множества операторов сравнения и проверки типов
- Контекстная система: Разрешение значений из объектов, массивов и классов
- Вложенные условия: Создание сложных логических деревьев с AND/OR
- Trait-интеграция: Встроенный трейт для добавления возможностей в ваши классы
- Расширяемость: Легкое добавление пользовательских операторов
Установка
Требуется PHP 8.1 или выше.
Быстрый старт
Простые условия
Контекст объекта
Использование Trait
Или используйте метод check() для быстрой проверки:
Доступные операторы
Операторы сравнения
| Оператор | Описание | Пример |
|---|---|---|
= |
Равно | where('field', '=', 'value') |
<> или != |
Не равно | where('field', '<>', 'value') |
=== |
Строгое равенство | where('field', '===', 'value') |
!== |
Строгое неравенство | where('field', '!==', 'value') |
> |
Больше | where('field', '>', 10) |
>= |
Больше или равно | where('field', '>=', 10) |
< |
Меньше | where('field', '<', 10) |
<= |
Меньше или равно | where('field', '<=', 10) |
Операторы коллекций
| Оператор | Описание | Пример |
|---|---|---|
in |
Входит в массив | in('field', [1, 2, 3]) |
between |
В диапазоне | between('field', 10, 20) |
Строковые операторы
| Оператор | Описание | Пример |
|---|---|---|
like |
LIKE-поиск | like('field', 'prefix%') |
regex |
Регулярное выражение | regex('field', '/^pattern$/') |
Операторы классов
| Оператор | Описание | Пример |
|---|---|---|
instanceof |
Проверка экземпляра | instanceof($object, SomeClass::class) |
implement |
Реализует интерфейс | implement(Class::class, SomeInterface::class) |
extends |
Наследует класс | extends(Class::class, ParentClass::class) |
uses_trait |
Использует трейт | usesTrait(Class::class, SomeTrait::class) |
has_method |
Имеет метод | hasMethod(Class::class, 'methodName') |
has_property |
Имеет свойство | hasProperty(Class::class, 'propertyName') |
has_public_property |
Имеет публичное свойство | hasPublicProperty(Class::class, 'propertyName') |
Продвинутое использование
Логика AND/OR
Отрицание условий
Вложенные условия
Разрешение значений из контекста
Поддержка callable
Callback при выполнении условия
Создание пользовательских операторов
Реализуйте интерфейс ActionInterface и зарегистрируйте действие:
Тестирование
Структура проекта
Лицензия
MIT
All versions of conditionable with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.1
The package mb4it/conditionable contains the following files
Loading the files please wait ...