예제 #1
0
 private function visitBaseComplexType(PHPClass $class, BaseComplexType $type)
 {
     $parent = $type->getParent();
     if ($parent) {
         $parentType = $parent->getBase();
         if ($parentType instanceof Type) {
             $this->handleClassExtension($class, $parentType);
         }
     }
     $schema = $type->getSchema();
     foreach ($type->getAttributes() as $attr) {
         if ($attr instanceof AttributeGroup) {
             $this->visitAttributeGroup($class, $schema, $attr);
         } else {
             $property = $this->visitAttribute($class, $schema, $attr);
             $class->addProperty($property);
         }
     }
 }
예제 #2
0
 private function visitBaseComplexType(&$class, &$data, BaseComplexType $type, $name)
 {
     $parent = $type->getParent();
     if ($parent) {
         $parentType = $parent->getBase();
         if ($parentType instanceof Type) {
             $this->handleClassExtension($class, $data, $parentType, $name);
         }
     }
     $schema = $type->getSchema();
     if (!isset($data["properties"])) {
         $data["properties"] = array();
     }
     foreach ($this->flattAttributes($type) as $attr) {
         $data["properties"][Inflector::camelize($attr->getName())] = $this->visitAttribute($class, $schema, $attr);
     }
 }