Symfony\Component\ExpressionLanguageとは式言語と訳されますが、一言で言うと条件式を評価することができるライブラリです。ExpressionLanguage公式ドキュメント通常、条件式の内容を書く人として想定されているのはプログラマではなくユーザーです。安全に実行することができます。指定すれば、stockが5より小さい時に条件が満たされた場合の処理を実行させることができますつまり、ユーザーはプログラマを急かせることなく自分の手で、stockの値に対して必要に応じて様々な条件を指定して、後続の処理を制御できるのです。オブジェクトのメソッド呼び出し等も実装されています。ExpressionLanguageでPHP関数を使う前述のように、ExpressionLanguageでは、できることを制限してあるため、通常のPHP関数を使うことはできません。PHPの関数をユーザー関数として登録するPHPの関数を使いたい場合は、ユーザー定義関数として登録してから利用します。式言語の趣旨を考えると、状態を変える関数は使わず、単に値を返す関数だけにしたほうが良いでしょう。関数を登録してみます。第一引数は、関数名です。式言語の中で利用するための関数名なので、PHPの関数名をそのまま使う必要はありません。自由に決めることができます。PHPの省略されすぎてわかりにくい標準関数名をわかりやすく変えて登録するのもOKです。後から同名の違う関数を登録すると最後に登録したもので上書きされてしまうので注意してください。指定します(クロージャーなど)。第二引数には、式言語をコンパイルするときの動作を定義します。返ってくるクロージャーを書いてあります。第三引数には、式言語を評価するときの動作を定義します。返ってくるクロージャーを書いておけば良いですね。まとめExpressionLanguageを使うと、できることをシステムに危険がない範囲に制限した上で、細かい仕様のコントロールをユーザーに任せることも可能になります。うまく利用して、開発スピードとユーザー満足度をどちらも高められるようにしたいですね。TtskchTheme。