FormRenderer
class FormRenderer implements FormRendererInterface
Renders a form into HTML using a rendering engine.
Constants
CACHE_KEY_VAR |
|
Methods
No description
Returns the engine used by this renderer.
Renders a CSRF token.
Renders a named block of the form theme.
Searches and renders a block for a given name suffix.
Makes a technical name human readable.
No description
Details
__construct(FormRendererEngineInterface $engine, CsrfTokenManagerInterface $csrfTokenManager = null)
setTheme(FormView $view, mixed $themes, bool $useDefaultThemes = true)
Sets the theme(s) to be used for rendering a view and its children.
string
renderCsrfToken(string $tokenId)
Renders a CSRF token.
Use this helper for CSRF protection without the overhead of creating a form.
<input type="hidden" name="token" value="<?php $renderer->renderCsrfToken('rm_user_'.$user->getId()) ?>">
Check the token in your action using the same token ID.
// $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
renderBlock(FormView $view, string $blockName, array $variables = array())
Renders a named block of the form theme.
string
searchAndRenderBlock(FormView $view, string $blockNameSuffix, array $variables = array())
Searches and renders a block for a given name suffix.
The block is searched by combining the block names stored in the form view with the given suffix. If a block name is found, that block is rendered.
If this method is called recursively, the block search is continued where a block was found before.