class FormRenderer implements FormRendererInterface

Renders a form into HTML using a rendering engine.

Constants

CACHE_KEY_VAR

Methods

__construct(FormRendererEngineInterface $engine, CsrfTokenManagerInterface $csrfTokenManager = null)

Constructor.

getEngine()

Returns the engine used by this renderer.

setTheme(FormView $view, mixed $themes)

Sets the theme(s) to be used for rendering a view and its children.

string
renderCsrfToken(string $tokenId)

Renders a CSRF token.

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.

string
humanize(string $text)

Makes a technical name human readable.

Details

at line line 58
__construct(FormRendererEngineInterface $engine, CsrfTokenManagerInterface $csrfTokenManager = null)

Constructor.

Parameters

FormRendererEngineInterface $engine
CsrfTokenManagerInterface $csrfTokenManager

at line line 67
FormRendererEngineInterface getEngine()

Returns the engine used by this renderer.

Return Value

FormRendererEngineInterface The renderer engine

at line line 75
setTheme(FormView $view, mixed $themes)

Sets the theme(s) to be used for rendering a view and its children.

Parameters

FormView $view The view to assign the theme(s) to
mixed $themes The theme(s). The type of these themes is open to the implementation.

at line line 83
string renderCsrfToken(string $tokenId)

Renders a CSRF token.

Use this helper for CSRF protection without the overhead of creating a form.

Check the token in your action using the same token ID.

$csrfProvider = $this->get('security.csrf.tokengenerator'); if (!$csrfProvider->isCsrfTokenValid('rmuser_'.$user->getId(), $token)) { throw new \RuntimeException('CSRF attack detected.'); }

Parameters

string $tokenId The ID of the CSRF token

Return Value

string A CSRF token

at line line 95
string renderBlock(FormView $view, string $blockName, array $variables = array())

Renders a named block of the form theme.

Parameters

FormView $view The view for which to render the block
string $blockName The name of the block
array $variables The variables to pass to the template

Return Value

string The HTML markup

at line line 154
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.

Parameters

FormView $view The view for which to render the block
string $blockNameSuffix The suffix of the block name
array $variables The variables to pass to the template

Return Value

string The HTML markup

at line line 306
string humanize(string $text)

Makes a technical name human readable.

Sequences of underscores are replaced by single spaces. The first letter of the resulting string is capitalized, while all other letters are turned to lowercase.

Parameters

string $text The text to humanize

Return Value

string The humanized text