FormRendererInterface
interface FormRendererInterface
Renders a form into HTML.
Methods
Returns the engine used by this renderer.
Sets the theme(s) to be used for rendering a view and its children.
Renders a named block of the form theme.
Searches and renders a block for a given name suffix.
Renders a CSRF token.
Makes a technical name human readable.
Details
void
setTheme(FormView$view,mixed$themes,bool$useDefaultThemes =true)
Sets the theme(s) to be used for rendering a view and its children.
string
renderBlock(FormView$view,string$blockName,array$variables =[])
Renders a named block of the form theme.
string
searchAndRenderBlock(FormView$view,string$blockNameSuffix,array$variables =[])
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.
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.');
}