Вход Регистрация
Файл: symfony-2.7/src/Symfony/Component/Form/Extension/Templating/TemplatingExtension.php
Строк: 123
<?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 SymfonyComponentFormExtensionTemplating;

use 
SymfonyComponentFormAbstractExtension;
use 
SymfonyComponentFormExceptionUnexpectedTypeException;
use 
SymfonyComponentFormExtensionCsrfCsrfProviderCsrfProviderAdapter;
use 
SymfonyComponentFormExtensionCsrfCsrfProviderCsrfProviderInterface;
use 
SymfonyComponentFormFormRenderer;
use 
SymfonyComponentSecurityCsrfCsrfTokenManagerInterface;
use 
SymfonyComponentTemplatingPhpEngine;
use 
SymfonyBundleFrameworkBundleTemplatingHelperFormHelper;

/**
 * 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)),
        ));
    }
}
Онлайн: 1
Реклама