linio / rule-engine
多功能的规则引擎,允许在给定的上下文中应用逻辑。
2.0.0
2022-12-29 23:00 UTC
Requires
- php: ^8.1
- linio/common: ^4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-08-28 18:56:51 UTC
README
这是一个小型且多功能的规则引擎,允许你在给定的上下文中运行条件逻辑和预定义的语句。它有一个解析器,目标是非常简单的AST。默认情况下,我们包括了一个Blockly XML解析器,但你几乎可以添加任何其他内容。
安装
安装Linio规则引擎的推荐方法是通过composer。
{ "require": { "linio/rule-engine": "^1.0" } }
测试
要运行测试套件,你需要通过composer安装依赖,然后运行PHPUnit。
$ composer install
$ phpunit
用法
RuleEngine解释器使用解析器根据提供的字符串创建AST树,这是实际的规则源。你可以创建自己的解析器或使用现有的一个,比如BlocklyXmlParser
。上下文必须是一个Dictionary
的实例。
<?php use Linio\Type\Dictionary; use Linio\Component\RuleEngine\Interpreter; $context = new Dictionary(['item' => 11]); $interpreter = new Interpreter(); $interpreter->setParser(...); $interpreter->evaluate('rule source', $context);