public function addTraitsMetadata($meta, array &$config) { // add versioned fields for entities that have the Nameable trait if (ClassAnalyzer::hasTrait($meta->name, 'Librinfo\\DoctrineBundle\\Entity\\Traits\\Nameable')) { $config['versioned'][] = 'name'; } // add versioned fields for entities that have the Descriptible trait if (ClassAnalyzer::hasTrait($meta->name, 'Librinfo\\DoctrineBundle\\Entity\\Traits\\Descriptible')) { $config['versioned'][] = 'description'; } // add versioned fields for entities that have the Emailable trait if (ClassAnalyzer::hasTrait($meta->name, 'Librinfo\\DoctrineBundle\\Entity\\Traits\\Emailable')) { $config['versioned'][] = 'email'; $config['versioned'][] = 'emailNpai'; $config['versioned'][] = 'emailNoNewsletter'; } // add versioned fields for entities that have the Addressable trait if (ClassAnalyzer::hasTrait($meta->name, 'Librinfo\\DoctrineBundle\\Entity\\Traits\\Addressable')) { $config['versioned'][] = 'address'; $config['versioned'][] = 'zip'; $config['versioned'][] = 'city'; $config['versioned'][] = 'country'; $config['versioned'][] = 'npai'; $config['versioned'][] = 'vcardUid'; $config['versioned'][] = 'confirmed'; } }
/** * Returns all parents of a class (parent, parent of parent, parent of parent's parent and so on) * * @param ReflectionClass|string $class A ReflectionClass object or a class name (FQCN) * @return array */ public function getAncestors($class) { return $this->classAnalyzer->getAncestors($class); }