Exemple #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;
     });
 }
 /**
  * @param PropertyMetadata $property
  * @param string $modifier
  * @param array $args
  */
 protected function processPropertyModifier(PropertyMetadata $property, $modifier, array $args)
 {
     if (isset($this->inverseModifier[$modifier])) {
         $this->inverseModifier[$modifier]->setCurrentReflection($this->currentReflection);
     }
     parent::processPropertyModifier($property, $modifier, $args);
 }