elepunk/evaluator
Laravel package for symfony expression language component
192
9
| Install | |
|---|---|
composer require elepunk/evaluator |
|
| Latest Version: | v1.0.1 |
| PHP: | >=5.4 |
| License: | MIT |
| Last Updated: | Feb 24, 2015 |
| Links: | GitHub · Packagist |
Maintainer: shopalicious
Evaluator
A Laravel package and Orchestra extension for symfony/expression-language component.
Installation
Simpy update the composer.json file and run composer install.
"require": {
"elepunk/evaluator": "1.0.*"
}
Quick Installation
composer require "elepunk/evaluator=1.0.*"
Setup
If you are using Orchestra Platform, you can simply enable the extension or add the service provider. This will also load the Evaluator alias automatically.
'providers' => [
'Elepunk\Evaluator\EvaluatorServiceProvider'
];
Adapter
This package provide Orchesta Memory as the default driver.
How To Use
Evaluating an expression
$test = [
'foo' => 10,
'bar' => 5
];
echo Evaluator::evaluate('foo > bar', $test); //this will return true
You can also save the expression rule.
$test = [
'foo' => 10,
'bar' => 5
];
Evaluator::expression()->add('test', 'foo > bar');
echo Evaluator::evaluateRule('test', $test); //this will return true
For supported expressions, visit the Symfony Expression Language Component.
Condition
Let say we want to implement 10% tax to our collection.
$item = [
'price' => 100
];
$condition = [
'target' => 'price',
'action' => '10%',
'rule' => 'price > 50'
];
Evaluator::expression()->add('tax', $condition);
$calculated = Evaluator::condition('tax', $item);
Item with multiplier.
$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);

