dev-master
9999999-dev https://symfony.comSymfony ExpressionLanguage Component Fork
MIT
The Requires
- php >=5.3.9
The Development Requires
Symfony ExpressionLanguage Component Fork
The ExpressionLanguage component provides an engine that can compile and evaluate expressions:, (*1)
use Hydra\Component\ExpressionLanguage\ExpressionLanguage; $language = new ExpressionLanguage(); echo $language->evaluate('1 + foo', array('foo' => 2)); // would output 3 echo $language->compile('1 + foo', array('foo')); // would output (1 + $foo)
By default, the engine implements simple math and logic functions, method calls, property accesses, and array accesses., (*2)
You can extend your DSL with functions:, (*3)
$compiler = function ($arg) { return sprintf('strtoupper(%s)', $arg); }; $evaluator = function (array $variables, $value) { return strtoupper($value); }; $language->register('upper', $compiler, $evaluator); echo $language->evaluate('"foo" ~ upper(foo)', array('foo' => 'bar')); // would output fooBAR echo $language->compile('"foo" ~ upper(foo)'); // would output ("foo" . strtoupper($foo))
You can run the unit tests with the following command:, (*4)
$ composer.phar install --dev $ phpunit
Symfony ExpressionLanguage Component Fork
MIT