apility/rule-builder
5,631
1
| Install | |
|---|---|
composer require apility/rule-builder |
|
| Latest Version: | v1.5.2 |
| License: | MIT |
| Last Updated: | Aug 25, 2025 |
| Links: | GitHub · Packagist |
Maintainer: thomas-alrek
Rule Builder PHP
Installation
composer require apility/rule-builder
Example usage
<?php
use Carbon\Carbon;
use Netflex\RuleBuilder\DateRules\DateRule;
// Example of a rule that matches any dates in the year 2021 except the 17th of May, 24th of December and the month of June.
$rule = DateRule::parse([
'type' => 'group',
'count' => 'all',
'children' => [
[
'type' => 'group',
'count' => 'any',
'children' => [
[
'type' => 'dateRange',
'from' => '2021-01-01',
'to' => '2022-01-01'
]
]
],
[
'type' => 'not',
'child' => [
'type' => 'group',
'count' => 'any',
'children' => [
[
'name' => '17th of May',
'type' => 'dateRange',
'from' => '2021-05-17',
'to' => '2021-05-18'
]
[
'name' => 'Christmas',
'type' => 'dateRange',
'from' => '2021-12-24',
'to' => '2021-12-25'
],
[
'name' => 'Closed for the summer',
'type' => 'dateRange',
'from' => '2021-06-01',
'to' => '2021-07-01'
]
]
]
]
]
]);
$validated = $rule->validate(Carbon::parse('2021-11-20'));
if ($validated) {
// The rule matched the given date
}
<?php
use Carbon\Carbon;
use Netflex\RuleBuilder\DateRules\DateRule;
// Example of a rule that matches every saturday and sunday in the month of September in the year 2021.
$rule = DateRule::parse([
'type' => 'group',
'count' => 'all',
'children' => [
[
'type' => 'dateRange',
'from' => '2021-09-01',
'to' => '2022-10-01'
],
[
'type' => 'dayOfWeek',
'days' => [6, 0]
]
]
]);
$validated = $rule->validate(Carbon::parse('2021-09-22'));
if ($validated) {
// The rule matched the given date
}
Related Packages
erirk/paypalpayment
laravel-paypalpayment is simple package help you process direct credit card paym...
0
doctrine/dbal
Powerful PHP database abstraction layer (DBAL) with many features for database s...
631,580,251
9,707