twig Как получить константу объекта в шаблоне

Рассмотрим, как можно получить значение константы класса в шаблоне с использованием Twig на примере простого input-а:

<input type="text" value={{constant('App\\Entity\\RateTemplate::INDIVIDUAL_NAME')}}>

Важно:

  • Корректно указать имя класса вместе с его пространством имён.
  • Разделяйте уровни пространства имён двойным обратным слэшем, чтобы он не интерпритировался как одинарный
  • Заключайте весь аргумент функции constant() в кавычки

Иначе могут возникнуть ошибки типа:

Arguments must be separated by a comma. Unexpected token "punctuation" of value ":" ("punctuation" expected with value ",").

или

An exception has been thrown during the rendering of a template ("Warning: constant(): Couldn't find constant RateTemplate::INDIVIDUAL_NAME").

Также можно читать константы из экземпляров объекта:

{% if var == constant('TYPE_PERSON', entity) %}

Источники

vedro-compota's picture

Есть отдельный подсправочник: http://fkn.ktu10.com/?q=node/3837
перенёс.

_____________
матфак вгу и остальная классика =)