FormHelper
class FormHelper extends Helper
FormHelper provides helpers to help display forms.
Properties
protected | $charset | from Helper |
Methods
Returns the canonical name of this helper.
Returns a CSRF token.
No description
No description
Details
setTheme(FormView $view, string|array $themes, bool $useDefaultThemes = true)
Sets a theme for a given view.
The theme format is "
string
form(FormView $view, array $variables = array())
Renders the HTML for a form.
Example usage:
<?php echo view['form']->form($form) ?>
You can pass options during the call:
<?php echo view['form']->form($form, array('attr' => array('class' => 'foo'))) ?>
<?php echo view['form']->form($form, array('separator' => '+++++')) ?>
This method is mainly intended for prototyping purposes. If you want to control the layout of a form in a more fine-grained manner, you are advised to use the other helper methods for rendering the parts of the form individually. You can also create a custom form theme to adapt the look of the form.
string
start(FormView $view, array $variables = array())
Renders the form start tag.
Example usage templates:
<?php echo $view['form']->start($form) ?>>
string
end(FormView $view, array $variables = array())
Renders the form end tag.
Example usage templates:
<?php echo $view['form']->end($form) ?>>
string
widget(FormView $view, array $variables = array())
Renders the HTML for a given view.
Example usage:
<?php echo $view['form']->widget($form) ?>
You can pass options during the call:
<?php echo $view['form']->widget($form, array('attr' => array('class' => 'foo'))) ?>
<?php echo $view['form']->widget($form, array('separator' => '+++++')) ?>
string
label(FormView $view, string $label = null, array $variables = array())
Renders the label of the given view.
string
rest(FormView $view, array $variables = array())
Renders views which have not already been rendered.
string
block(FormView $view, string $blockName, array $variables = array())
Renders a block of the template.
string
csrfToken(string $tokenId)
Returns a CSRF token.
Use this helper for CSRF protection without the overhead of creating a form.
echo $view['form']->csrfToken('rm_user_'.$user->getId());
Check the token in your action using the same CSRF 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.');
}