Esempio n. 1
0
 /**
  * @param string $name
  * @param self $parent
  */
 public function __construct($name = null, self $parent = null)
 {
     $this->name = $name;
     if ($parent) {
         $parent->appendChild($this);
     }
 }
Esempio n. 2
0
 /**
  * @param Node $container
  * @param array $name
  * @param array $section
  * @param array $classmap
  * @return Node
  */
 protected function buildNode(Node $container, $name, array $section, array $classmap)
 {
     if (!$name && isset($section['name'])) {
         $name = $section['name'];
     }
     if ($this->sectionIsField($section)) {
         if (isset($classmap['Field'])) {
             $class = $classmap['Field'];
             $node = new $class($name);
         } else {
             $node = new Field($name);
         }
         $this->buildField($node, $section);
     } else {
         $node = new Form\Node($name);
         foreach ($section as $key => $data) {
             if (substr($key, 0, 1) == '@') {
                 continue;
             }
             if (is_array($data)) {
                 $this->buildNode($node, $key, $data, $classmap);
             } else {
                 $node->setAttribute($key, $data);
             }
         }
     }
     $container->appendChild($node);
     return $container;
 }