예제 #1
0
파일: Registry.php 프로젝트: bapcat/remodel
 public function register(EntityDefinition $builder)
 {
     $this->defs[$builder->full_name] = $builder;
     $this->unchecked[] = $builder;
     $this->ioc->bind('bap.remodel.scopes.' . str_replace('\\', '.', $builder->full_name), function () use($builder) {
         return $builder->scopes;
     });
     $this->tailor->bindCallback($builder->full_name, function (Generator $gen) use($builder) {
         $this->checkDefinitions();
         $file = $gen->generate('Entity', $builder->toArray());
         $gen->includeFile($file);
     });
     foreach (['Id', 'Gateway', 'Repository', 'NotFoundException'] as $class) {
         $this->tailor->bindCallback($builder->full_name . $class, function (Generator $gen) use($builder, $class) {
             $this->checkDefinitions();
             $file = $gen->generate($class, $builder->toArray());
             $gen->includeFile($file);
         });
     }
 }