123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Component\Form\Extension\Templating;
- use Symfony\Bundle\FrameworkBundle\Templating\Helper\FormHelper;
- use Symfony\Component\Form\AbstractExtension;
- use Symfony\Component\Form\Exception\UnexpectedTypeException;
- use Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfProviderAdapter;
- use Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfProviderInterface;
- use Symfony\Component\Form\FormRenderer;
- use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
- use Symfony\Component\Templating\PhpEngine;
- /**
- * Integrates the Templating component with the Form library.
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
- class TemplatingExtension extends AbstractExtension
- {
- public function __construct(PhpEngine $engine, $csrfTokenManager = null, array $defaultThemes = array())
- {
- if ($csrfTokenManager instanceof CsrfProviderInterface) {
- $csrfTokenManager = new CsrfProviderAdapter($csrfTokenManager);
- } elseif (null !== $csrfTokenManager && !$csrfTokenManager instanceof CsrfTokenManagerInterface) {
- throw new UnexpectedTypeException($csrfTokenManager, 'CsrfProviderInterface or CsrfTokenManagerInterface');
- }
- $engine->addHelpers(array(
- new FormHelper(new FormRenderer(new TemplatingRendererEngine($engine, $defaultThemes), $csrfTokenManager)),
- ));
- }
- }
|