Inheritance: extends Nette\Object
Example #1
0
 public function __construct(IStorage $cacheStorage, array $entityClasses, IModel $model)
 {
     $cache = new Cache($cacheStorage, 'Nextras.Orm.metadata');
     static::$metadata = $cache->load($entityClasses, function (&$dp) use($entityClasses, $model) {
         $metadata = $this->parseMetadata($entityClasses, $dp[Cache::FILES]);
         $validator = new MetadataValidator();
         $validator->validate($metadata, $model);
         return $metadata;
     });
 }
Example #2
0
 public function __construct(array $entityClassesMap, Cache $cache, IMetadataParserFactory $metadataParserFactory, IRepositoryLoader $repositoryLoader)
 {
     static::$metadata = $cache->derive('metadata')->load($entityClassesMap, function (&$dp) use($entityClassesMap, $metadataParserFactory, $repositoryLoader) {
         $metadata = [];
         $annotationParser = $metadataParserFactory->create($entityClassesMap);
         foreach (array_keys($entityClassesMap) as $className) {
             $metadata[$className] = $annotationParser->parseMetadata($className, $dp[Cache::FILES]);
         }
         $validator = new MetadataValidator();
         $validator->validate($metadata, $repositoryLoader);
         return $metadata;
     });
 }
Example #3
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;
     });
 }