Учебники

Symfony — Выражение

Как мы уже говорили ранее, язык выражений является одной из характерных особенностей приложения Symfony. Выражение Symfony в основном создается для использования в среде конфигурации. Это позволяет непрограммисту настраивать веб-приложение без особых усилий. Давайте создадим простое приложение для проверки выражения.

Шаг 1 — Создать проект, выражение-язык-пример .

cd /path/to/dir 
mkdir expression-language-example 
cd expression-language-example 
composer require symfony/expression-language 

Шаг 2 — Создайте объект выражения.

use Symfony\Component\ExpressionLanguage\ExpressionLanguage; 
$language = new ExpressionLanguage();

Шаг 3 — Проверьте простое выражение.

echo "Evaluated Value: " . $language->evaluate('10 + 12') . "\r\n" ; 
echo "Compiled Code: " . $language->compile('130 % 34') . "\r\n" ;

Шаг 4 — Выражение Symfony настолько мощное, что может перехватывать объект PHP и его свойства также на языке выражений.

class Product { 
   public $name; 
   public $price; 
} 
$product = new Product(); 
$product->name = 'Cake'; 
$product->price = 10;  

echo "Product price is " . $language 
   ->evaluate('product.price', array('product' => $product,)) . "\r\n";  
echo "Is Product price higher than 5: " . $language 
   ->evaluate('product.price > 5', array('product' => $product,)) . "\r\n"; 

Здесь выражения product.price и product.price> 5 пересекают цену свойства объекта $ product и оценивают результат.

Полное кодирование выглядит следующим образом.