Skip to content

Repository files navigation

Linio Rule Engine

Latest Stable VersionLicenseBuild StatusScrutinizer Code Quality

This is a small and versatile rule engine that allows you run conditional logic and predetermined statements on a given context. It has a Parser that targets a very simplistic AST. By default, we have included a Blockly XML parser, but you can add pretty much anything else.

Install

The recommended way to install Linio Rule Engine is through composer.

{
"require": {
"linio/rule-engine": "^1.0"
}
}

Tests

To run the test suite, you need install the dependencies via composer, then run PHPUnit.

$ composer install
$ phpunit

Usage

The RuleEngine interpreter uses a parser to create the AST tree based on a provided string, which is the actual rule source. You can create your own parser or use an existing one, like the BlocklyXmlParser. A context must be an instance of a Dictionary.

<?phpuseLinio\Type\Dictionary;
useLinio\Component\RuleEngine\Interpreter;
$context = newDictionary(['item' => 11]);
$interpreter = newInterpreter();
$interpreter->setParser(...);
$interpreter->evaluate('rule source', $context);

About

Versatile rule engine that allows to apply logic to a given context.

Resources

Stars

6 stars

Watchers

53 watching

Forks

Releases

Packages

Used by

Contributors

Languages