Nextras\Orm\Entity\Reflection\MetadataParser::parseMetadata PHP Method

parseMetadata() public method

public parseMetadata ( $class, &$fileDependencies )
    public function parseMetadata($class, &$fileDependencies)
    {
        $this->reflection = new ClassType($class);
        $this->metadata = new EntityMetadata($class);
        $this->loadProperties($fileDependencies);
        $this->loadGettersSetters();
        $this->initPrimaryKey();
        $fileDependencies = array_unique($fileDependencies);
        return $this->metadata;
    }

Usage Example

Esempio n. 1
0
 public function __construct(IStorage $cacheStorage, array $entityClassesMap, IRepositoryLoader $repositoryLoader)
 {
     $cache = new Cache($cacheStorage, 'Nextras.Orm.metadata');
     static::$metadata = $cache->load($entityClassesMap, function (&$dp) use($entityClassesMap, $repositoryLoader) {
         $metadata = [];
         $annotationParser = new MetadataParser($entityClassesMap);
         foreach (array_keys($entityClassesMap) as $className) {
             $metadata[$className] = $annotationParser->parseMetadata($className, $dp[Cache::FILES]);
         }
         $validator = new MetadataValidator();
         $validator->validate($metadata, $repositoryLoader);
         return $metadata;
     });
 }