FormExtension
class FormExtension extends Twig_Extension implements Twig_Extension_InitRuntimeInterface
FormExtension расширяет Twig возможностями форм.
Свойства
| TwigRendererInterface | $renderer | Это свойство является общедоступным, чтобы к нему можно было получить прямой доступ из скомпилированных шаблонов без вызова геттера, что немного снижает производительность. |
Методы
| __construct(TwigRendererInterface $renderer) | ||
| initRuntime(Twig_Environment $environment) {@inheritdoc} | ||
| getTokenParsers() {@inheritdoc} | ||
| getFunctions() {@inheritdoc} | ||
| getFilters() {@inheritdoc} | ||
| getTests() {@inheritdoc} | ||
| renderCsrfToken($tokenId) {@inheritdoc} | ||
| строка | humanize(строка $text) Преобразует техническое имя в удобочитаемое. | |
| логическое | isSelectedChoice(ChoiceView $choice, строка|массив $selectedValue) Возвращает, выбран ли элемент для данного значения формы. | |
| getName() {@inheritdoc} |
Подробности
__construct(TwigRendererInterface $renderer)
Параметры
| TwigRendererInterface | $renderer |
initRuntime(Twig_Environment $environment)
{@inheritdoc}
Параметры
| Twig_Environment | $environment |
getTokenParsers()
{@inheritdoc}
getFunctions()
{@inheritdoc}
getFilters()
{@inheritdoc}
getTests()
{@inheritdoc}
renderCsrfToken($tokenId)
{@inheritdoc}
Параметры
| $tokenId |
строка humanize(строка $text)
Преобразует техническое имя в удобочитаемое.
Параметры
| строка | $text | Текст для преобразования. |
Значение возврата
| строка | Преобразованный текст. |
логическое isSelectedChoice(ChoiceView $choice, строка|массив $selectedValue)
Возвращает, выбран ли элемент для данного значения формы.
К сожалению, Twig не поддерживает эффективный способ выполнения лямбда-выражения "is_selected", передаваемого в шаблон ChoiceType. Быстрее реализовать логику здесь (примерно 65 мс для конкретной формы).
Непосредственное внедрение логики здесь также быстрее, чем в ChoiceView (примерно 30 мс).
Самый худший из протестированных вариантов - реализация логики в ChoiceView и непосредственный вызов метода ChoiceView в шаблоне. Это примерно на 220 мс медленнее, чем вызов метода здесь в фильтре. Похоже, Twig гораздо эффективнее выполняет фильтры, чем методы объекта.
Параметры
| ChoiceView | $choice | Элемент для проверки. |
| строка|массив | $selectedValue | Выбранное значение для сравнения. |
Значение возврата
| логическое | Выбран ли элемент. |
См. также
| ChoiceView::isSelected() |
getName()
{@inheritdoc}
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Bridge/Twig/Extension/FormExtension.html