10

配列形式の定数オプションを含むクラスがあります。

namespace MyNameSpace;

class OptionConstants
{
  /**
   * Gender options
   */
   public static $GENDER = array(
    'Male',
    'Female'
   );

  /**
   * University year levels
   */
   public static $UNVERSITY_STANDING = array(
    '--None--',
    'First Year',
    'Second Year',
    'Third Year',
    'Fourth Year',
    'Graduate Student',
    'Graduated',
    'Other'
   );
}

symfony 2.2 twig で $UNVERSITY_STANDING または $GENDER にアクセスするにはどうすればよいですか?

4

3 に答える 3

14

定数関数を呼び出すだけ

{{ constant('Namespace\\Classname::CONSTANT_NAME') }}
于 2013-04-15T14:23:18.283 に答える
9

以下のようにカスタム Twig 関数を作成できます。

$staticFunc = new \Twig_SimpleFunction('static', function ($class, $property) {
        if (property_exists($class, $property)) {
            return $class::$$property;
        }
        return null;
    });

次に、Twigに追加します

$twig->addFunction($staticFunc);

これで、ビューからこの関数を呼び出すことができます

{{ static('YourNameSpace\\ClassName', 'VARIABLE_NAME') }}
于 2013-09-20T00:49:33.177 に答える