PHPackages                             easyblue/rules-engine - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. easyblue/rules-engine

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

easyblue/rules-engine
=====================

Provides tools for rules engine pattern

1.1.1(1y ago)230.7k↓33.3%1[3 PRs](https://github.com/easyblueio/rules-engine/pulls)MITPHPPHP &gt;=8.1CI passing

Since Nov 22Pushed 5mo ago2 watchersCompare

[ Source](https://github.com/easyblueio/rules-engine)[ Packagist](https://packagist.org/packages/easyblue/rules-engine)[ RSS](/packages/easyblue-rules-engine/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (7)Dependencies (6)Versions (14)Used By (0)

easyblueio/rules-engine
=======================

[](#easyblueiorules-engine)

Provides tools for rules engine pattern

Installation
------------

[](#installation)

Install this package as a dependency using [Composer](https://getcomposer.org).

```
composer require easyblue/rules-engine
```

Usage
-----

[](#usage)

### In PHP app

[](#in-php-app)

You can create an instance of rule engine with passing processor.

```
use Easyblue\RulesEngine\Core\RulesEngine;
use Acme\RulesEngine\Profile;

$profilesRuleEngine = new RulesEngine(
    'profiles',
    ['chained' => true],
    [
        new Profile\FreemiumProcessor(),
        new Profile\PremiumProcessor(),
        new Profile\GoldProcessor(),
        new Profile\AdminProcessor(),
    ]
);

$profilesRuleEngine->process($user);
```

### In Symfony app

[](#in-symfony-app)

First, register the bundle in `config/bundles.php`

```
