Nextras\Orm\Bridges\NetteDI\OrmExtension::createMapperService PHP Метод

createMapperService() защищенный Метод

protected createMapperService ( $repositoryName, $repositoryClass, ContainerBuilder $builder )
$builder Nette\DI\ContainerBuilder
    protected function createMapperService($repositoryName, $repositoryClass, ContainerBuilder $builder)
    {
        $mapperName = $this->prefix('mappers.' . $repositoryName);
        if (!$builder->hasDefinition($mapperName)) {
            $mapperClass = str_replace('Repository', 'Mapper', $repositoryClass);
            if (!class_exists($mapperClass)) {
                throw new InvalidStateException("Unknown mapper for '{$repositoryName}' repository.");
            }
            $builder->addDefinition($mapperName)->setClass($mapperClass)->setArguments(['cache' => '@' . $this->prefix('cache')]);
        }
        return $mapperName;
    }

Usage Example

Пример #1
0
 protected function createMapperService($repositoryName, $repositoryClass, ContainerBuilder $builder)
 {
     if (!$this->testingMappers) {
         return parent::createMapperService($repositoryName, $repositoryClass, $builder);
     }
     $testMapperName = $this->prefix('mappers.testing.' . $repositoryName);
     if (!$builder->hasDefinition($testMapperName)) {
         $mapperClass = TestMapper::class;
         $builder->addDefinition($testMapperName)->setClass($mapperClass);
     }
     return $testMapperName;
 }