FormRenderer
class FormRenderer implements FormRendererInterface
Отображает форму в HTML с помощью движка отображения.
Постоянные значения
| CACHE_KEY_VAR |
Методы
| __construct(FormRendererEngineInterface $engine, CsrfTokenManagerInterface $csrfTokenManager = null) | ||
| FormRendererEngineInterface | getEngine() Возвращает движок, используемый этим рендерером. | |
| setTheme(FormView $view, mixed $themes, bool $useDefaultThemes = true) Устанавливает тему(ы) для отображения представления и его дочерних элементов. | ||
| string | renderCsrfToken(string $tokenId) Отображает токен CSRF. | |
| string | renderBlock(FormView $view, string $blockName, array $variables = array()) Отображает именованный блок темы формы. | |
| string | searchAndRenderBlock(FormView $view, string $blockNameSuffix, array $variables = array()) Ищет и отображает блок с заданным суффиксом имени. | |
| string | humanize(string $text) Преобразует техническое имя в удобочитаемое. | |
| encodeCurrency(Environment $environment, $text, $widget = '') |
Подробности
__construct(FormRendererEngineInterface $engine, CsrfTokenManagerInterface $csrfTokenManager = null)
Параметры
| FormRendererEngineInterface | $engine | |
| CsrfTokenManagerInterface | $csrfTokenManager |
FormRendererEngineInterface getEngine()
Возвращает движок, используемый этим рендерером.
Возвращаемое значение
| FormRendererEngineInterface | Движок рендера |
setTheme(FormView $view, mixed $themes, bool $useDefaultThemes = true)
Устанавливает тему(ы) для отображения представления и его дочерних элементов.
Параметры
| FormView | $view | Представление, которому нужно назначить тему(ы) |
| mixed | $themes | Тема(ы). Тип этих тем зависит от реализации. |
| bool | $useDefaultThemes | Если true, использует темы по умолчанию, заданные в рендерере |
string renderCsrfToken(string $tokenId)
Отображает токен CSRF.
Используйте этот помощник для защиты CSRF без необходимости создания формы.
<input type="hidden" name="token" value="<?php $renderer->renderCsrfToken('rm_user_'.$user->getId()) ?>">
Проверьте токен в своем действии, используя тот же идентификатор токена.
// $csrfProvider being an instance of Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface
if (!$csrfProvider->isCsrfTokenValid('rm_user_'.$user->getId(), $token)) {
throw new \RuntimeException('CSRF attack detected.');
}
Параметры
| string | $tokenId | Идентификатор токена CSRF |
Возвращаемое значение
| string | Токен CSRF |
string renderBlock(FormView $view, string $blockName, array $variables = array())
Отображает именованный блок темы формы.
Параметры
| FormView | $view | Представление, для которого нужно отобразить блок |
| string | $blockName | Имя блока |
| array | $variables | Переменные для передачи в шаблон |
Возвращаемое значение
| string | HTML разметка |
string searchAndRenderBlock(FormView $view, string $blockNameSuffix, array $variables = array())
Ищет и отображает блок с заданным суффиксом имени.
Блок ищется путем объединения имен блоков, хранящихся в представлении формы, с заданным суффиксом. Если имя блока найдено, этот блок отображается.
Если этот метод вызывается рекурсивно, поиск блока продолжается с места, где был найден блок ранее.
Параметры
| FormView | $view | Представление, для которого нужно отобразить блок |
| string | $blockNameSuffix | Суффикс имени блока |
| array | $variables | Переменные для передачи в шаблон |
Возвращаемое значение
| string | HTML разметка |
string humanize(string $text)
Преобразует техническое имя в удобочитаемое.
Последовательности подчеркиваний заменяются одним пробелом. Первая буква результирующей строки записывается заглавной, а все остальные – строчными.
Параметры
| string | $text | Текст для преобразования |
Возвращаемое значение
| string | Преобразованный текст |
encodeCurrency(Environment $environment, $text, $widget = '')
Параметры
| Environment | $environment | |
| $text | ||
| $widget |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Form/FormRenderer.html