From 30f26ed091f035da6189fa3d0a211b76bfeaf9a3 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Thu, 31 Mar 2011 07:35:43 +0200 Subject: [PATCH] [Form] changed DefaultFormFactory to be more 'useable' --- .../Component/Form/DefaultFormFactory.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Symfony/Component/Form/DefaultFormFactory.php b/src/Symfony/Component/Form/DefaultFormFactory.php index edb50f4c4a..bec3eaebb4 100644 --- a/src/Symfony/Component/Form/DefaultFormFactory.php +++ b/src/Symfony/Component/Form/DefaultFormFactory.php @@ -15,6 +15,7 @@ use Symfony\Component\HttpFoundation\File\TemporaryStorage; use Symfony\Component\Validator\ValidatorInterface; use Symfony\Component\Form\FormFactoryInterface; use Symfony\Component\Form\Renderer\Loader\ArrayRendererFactoryLoader; +use Symfony\Component\Form\Renderer\Loader\RendererFactoryLoaderInterface; use Symfony\Component\Form\Renderer\ThemeRendererFactory; use Symfony\Component\Form\Type; use Symfony\Component\Form\Type\FormTypeInterface; @@ -49,29 +50,29 @@ class DefaultFormFactory extends FormFactory { $csrfProvider = new DefaultCsrfProvider($csrfSecret); $tempStorage = new TemporaryStorage($storageSecret); - $defaultThemeFactory = new PhpThemeFactory($charset); + $rendererFactoryLoader = new ArrayRendererFactoryLoader(array('php' => new ThemeRendererFactory(new PhpThemeFactory($charset)))); - return self::createInstance($defaultThemeFactory, $validator, $csrfProvider, $tempStorage); + return self::createInstance($rendererFactoryLoader, $validator, $csrfProvider, $tempStorage); } /** * Factory method to simplify creation of a default form factory. * - * @param ThemeFactoryInterface $themeFactory + * @param RendererFactoryLoaderInterface $rendererFactoryLoader * @param ValidatorInterface $validator * @param CsrfProviderInterface $crsfProvider * @param TemporaryStorage $tempStorage * * @return DefaultFormFactory */ - public static function createInstance(ThemeFactoryInterface $themeFactory, + public static function createInstance(RendererFactoryLoaderInterface $rendererFactoryLoader, ValidatorInterface $validator, CsrfProviderInterface $crsfProvider, TemporaryStorage $tempStorage) { $typeLoader = new DefaultTypeLoader($validator, $crsfProvider, $tempStorage); - return new self($typeLoader, $themeFactory); + return new self($typeLoader, $rendererFactoryLoader); } /** @@ -81,13 +82,13 @@ class DefaultFormFactory extends FormFactory /** * @param TypeLoaderInterface $typeLoader - * @param ThemeFactoryInterface $themeFactory + * @param RendererFactoryLoaderInterface $rendererFactoryLoader */ - public function __construct(TypeLoaderInterface $typeLoader, ThemeFactoryInterface $themeFactory) + public function __construct(TypeLoaderInterface $typeLoader, RendererFactoryLoaderInterface $rendererFactoryLoader) { $this->typeLoader = $typeLoader; - parent::__construct($typeLoader, new ArrayRendererFactoryLoader(array('php' => new ThemeRendererFactory($themeFactory)))); + parent::__construct($typeLoader, $rendererFactoryLoader); } /**