fly321 / rule-engine
通用规则引擎
v0.0.5
2024-06-28 14:25 UTC
This package is auto-updated.
Last update: 2025-04-28 16:16:14 UTC
README
Rule Engine
这是一个简单的PHP规则引擎包。该项目使用PHP和Composer来构建和运行规则引擎。
需要
- PHP 7.4 or higher
- Composer
安装
-
require composer
composer require fly321/rule-engine
-
具体示例demo
php test/demo.php
use
规则引擎 - 实现RuleInterface接口
<?php namespace Fly\RuleEngine\Rules; use Fly\RuleEngine\Interfaces\RuleContextInterface; use Fly\RuleEngine\Interfaces\RuleInterface; class DemoRule implements RuleInterface { /** * @inheritDoc */ public function matches(RuleContextInterface $context): bool { return $context->containsKey("num1") && $context->containsKey("num2") && $context->get("num1") < $context->get("num2"); } /** * @inheritDoc */ public function execute(RuleContextInterface $context): void { var_dump($context->get("num1"), $context->get("num2")); echo "num1 < num2\n"; $context->set("num_bool", true); } /** * @inheritDoc */ public function notMatches(RuleContextInterface $context): void { var_dump($context->get("num1"), $context->get("num2")); echo "num1 >= num2\n"; $context->set("num_bool", false); } }