浏览代码

Merge remote branch 'vicb/924-real'

* vicb/924-real:
  [Form] Implement a fluid interface FormView
Fabien Potencier 14 年之前
父节点
当前提交
d0b403b7e4

+ 4 - 2
src/Symfony/Component/Form/Extension/Core/Type/CheckboxType.php

@@ -27,8 +27,10 @@ class CheckboxType extends AbstractType
 
     public function buildView(FormView $view, FormInterface $form)
     {
-        $view->set('value', $form->getAttribute('value'));
-        $view->set('checked', (Boolean) $form->getData());
+        $view
+            ->set('value', $form->getAttribute('value'))
+            ->set('checked', (Boolean) $form->getData())
+        ;
     }
 
     public function getDefaultOptions(array $options)

+ 8 - 6
src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php

@@ -89,12 +89,14 @@ class ChoiceType extends AbstractType
         $choices = $form->getAttribute('choice_list')->getChoices();
         $preferred = array_flip($form->getAttribute('preferred_choices'));
 
-        $view->set('multiple', $form->getAttribute('multiple'));
-        $view->set('expanded', $form->getAttribute('expanded'));
-        $view->set('preferred_choices', array_intersect_key($choices, $preferred));
-        $view->set('choices', array_diff_key($choices, $preferred));
-        $view->set('separator', '-------------------');
-        $view->set('empty_value', '');
+        $view
+            ->set('multiple', $form->getAttribute('multiple'))
+            ->set('expanded', $form->getAttribute('expanded'))
+            ->set('preferred_choices', array_intersect_key($choices, $preferred))
+            ->set('choices', array_diff_key($choices, $preferred))
+            ->set('separator', '-------------------')
+            ->set('empty_value', '')
+        ;
 
         if ($view->get('multiple') && !$view->get('expanded')) {
             // Add "[]" to the name in case a select tag with multiple options is

+ 4 - 2
src/Symfony/Component/Form/Extension/Core/Type/CollectionType.php

@@ -38,8 +38,10 @@ class CollectionType extends AbstractType
 
     public function buildView(FormView $view, FormInterface $form)
     {
-        $view->set('allow_add', $form->getAttribute('allow_add'));
-        $view->set('allow_delete', $form->getAttribute('allow_delete'));
+        $view
+            ->set('allow_add', $form->getAttribute('allow_add'))
+            ->set('allow_delete', $form->getAttribute('allow_delete'))
+        ;
     }
 
     public function getDefaultOptions(array $options)

+ 14 - 12
src/Symfony/Component/Form/Extension/Core/Type/FieldType.php

@@ -64,18 +64,20 @@ class FieldType extends AbstractType
             $name = $form->getName();
         }
 
-        $view->set('form', $view);
-        $view->set('id', $id);
-        $view->set('name', $name);
-        $view->set('errors', $form->getErrors());
-        $view->set('value', $form->getClientData());
-        $view->set('read_only', $form->isReadOnly());
-        $view->set('required', $form->isRequired());
-        $view->set('max_length', $form->getAttribute('max_length'));
-        $view->set('size', null);
-        $view->set('label', $form->getAttribute('label'));
-        $view->set('multipart', false);
-        $view->set('attr', array());
+        $view
+            ->set('form', $view)
+            ->set('id', $id)
+            ->set('name', $name)
+            ->set('errors', $form->getErrors())
+            ->set('value', $form->getClientData())
+            ->set('read_only', $form->isReadOnly())
+            ->set('required', $form->isRequired())
+            ->set('max_length', $form->getAttribute('max_length'))
+            ->set('size', null)
+            ->set('label', $form->getAttribute('label'))
+            ->set('multipart', false)
+            ->set('attr', array())
+        ;
 
         $types = array();
         foreach (array_reverse((array) $form->getTypes()) as $type) {

+ 4 - 2
src/Symfony/Component/Form/Extension/Core/Type/RadioType.php

@@ -27,8 +27,10 @@ class RadioType extends AbstractType
 
     public function buildView(FormView $view, FormInterface $form)
     {
-        $view->set('value', $form->getAttribute('value'));
-        $view->set('checked', (Boolean) $form->getData());
+        $view
+            ->set('value', $form->getAttribute('value'))
+            ->set('checked', (Boolean) $form->getData())
+        ;
 
         if ($view->hasParent()) {
             $view->set('name', $view->getParent()->get('name'));

+ 4 - 2
src/Symfony/Component/Form/Extension/Core/Type/TimeType.php

@@ -73,8 +73,10 @@ class TimeType extends AbstractType
 
     public function buildView(FormView $view, FormInterface $form)
     {
-        $view->set('widget', $form->getAttribute('widget'));
-        $view->set('with_seconds', $form->getAttribute('with_seconds'));
+        $view
+            ->set('widget', $form->getAttribute('widget'))
+            ->set('with_seconds', $form->getAttribute('with_seconds'))
+        ;
     }
 
     public function getDefaultOptions(array $options)

+ 20 - 0
src/Symfony/Component/Form/FormView.php

@@ -38,10 +38,14 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable
     /**
      * @param string $name
      * @param mixed $value
+     *
+     * @return FormView The current view
      */
     public function set($name, $value)
     {
         $this->vars[$name] = $value;
+
+        return $this;
     }
 
     /**
@@ -91,10 +95,14 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable
      *
      * @param string $name  The name of the attribute
      * @param string $value The value
+     *
+     * @return FormView The current view
      */
     public function setAttribute($name, $value)
     {
         $this->vars['attr'][$name] = $value;
+
+        return $this;
     }
 
     /**
@@ -109,20 +117,28 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable
 
     /**
      * Marks the attached form as rendered
+     *
+     * @return FormView The current view
      */
     public function setRendered()
     {
         $this->rendered = true;
+
+        return $this;
     }
 
     /**
      * Sets the parent view.
      *
      * @param FormView $parent The parent view
+     *
+     * @return FormView The current view
      */
     public function setParent(FormView $parent = null)
     {
         $this->parent = $parent;
+
+        return $this;
     }
 
     /**
@@ -149,10 +165,14 @@ class FormView implements \ArrayAccess, \IteratorAggregate, \Countable
      * Sets the children view.
      *
      * @param array $children The children as instances of FormView
+     *
+     * @return FormView The current view
      */
     public function setChildren(array $children)
     {
         $this->children = $children;
+
+        return $this;
     }
 
     /**