elepunk / evaluator
Laravel 包,用于 symfony 表达式语言组件
v1.0.1
2015-02-24 06:56 UTC
Requires
- php: >=5.4
- orchestra/config: ~3.0
- orchestra/memory: ~3.0
- symfony/expression-language: ~2.6
Requires (Dev)
- mockery/mockery: ~0.9
- satooshi/php-coveralls: ~0.6
This package is not auto-updated.
Last update: 2024-09-24 02:47:28 UTC
README
A Laravel 包和 Orchestra 扩展,用于 symfony/expression-language 组件。
安装
简单更新 composer.json 文件并运行 composer install。
"require": { "elepunk/evaluator": "1.0.*" }
快速安装
composer require "elepunk/evaluator=1.0.*"
配置
如果你使用 Orchestra 平台,可以简单地启用扩展或添加服务提供者。这也会自动加载 Evaluator 别名。
'providers' => [ 'Elepunk\Evaluator\EvaluatorServiceProvider' ];
适配器
此包提供 Orchesta Memory 作为默认驱动。
如何使用
评估表达式
$test = [ 'foo' => 10, 'bar' => 5 ]; echo Evaluator::evaluate('foo > bar', $test); //this will return true
你也可以保存表达式规则。
$test = [ 'foo' => 10, 'bar' => 5 ]; Evaluator::expression()->add('test', 'foo > bar'); echo Evaluator::evaluateRule('test', $test); //this will return true
有关支持的表达式,请访问 Symfony Expression Language Component。
条件
假设我们想要对我们的集合实施 10% 的税率。
$item = [ 'price' => 100 ]; $condition = [ 'target' => 'price', 'action' => '10%', 'rule' => 'price > 50' ]; Evaluator::expression()->add('tax', $condition); $calculated = Evaluator::condition('tax', $item);
带有乘数的项目。
$item = [ 'price' => 50, 'quantity' => 2 ]; $condition = [ 'target' => 'price', 'action' => '10%', 'rule' => 'price > 50', 'multiplier' => 'quantity' ]; Evaluator::expression()->add('tax', $condition); $calculated = Evaluator::condition('tax', $item);