コード例 #1
0
 /**
  * Add fields by properties without "Exclude" annotation
  */
 protected function addFieldsByExcludeStrategy()
 {
     $properties = $this->getClassReflection()->getProperties();
     $excludedAnnotations = $this->getExcludeAnnotations();
     $columnsAnnotations = $this->getColumnAnnotations();
     foreach ($properties as $property) {
         $name = $property->getName();
         if (isset($excludedAnnotations[$name])) {
             continue;
         }
         $field = new Field($name);
         if (isset($columnsAnnotations[$name])) {
             $this->applyAnnotation($field, $columnsAnnotations[$name]);
         }
         $this->schema->addField($field);
     }
 }