예제 #1
0
 /**
  * Takes a list of fieldset specifications, creates the fieldsets, and injects them into the master fieldset
  *
  * @param  array|Traversable|ArrayAccess $fieldsets
  * @param  FieldsetInterface $masterFieldset
  * @param  string $method Method invoking this one (for exception messages)
  * @return void
  */
 public function prepareAndInjectFieldsets($fieldsets, FieldsetInterface $masterFieldset, $method)
 {
     $fieldsets = $this->validateSpecification($fieldsets, $method);
     foreach ($fieldsets as $fieldsetSpecification) {
         $flags = isset($fieldsetSpecification['flags']) ? $fieldsetSpecification['flags'] : array();
         $spec = isset($fieldsetSpecification['spec']) ? $fieldsetSpecification['spec'] : array();
         $fieldset = $this->createFieldset($spec);
         $masterFieldset->add($fieldset, $flags);
     }
 }