Beispiel #1
0
 protected function getLocalClassNameFromTarget($targetName, $className)
 {
     $targetNamespace = $this->getTargetNamespace($targetName);
     if (!$targetNamespace) {
         return null;
     }
     return Standard::getLocalClassNameInNamespace(Standard::normalizeClassName($className), $targetNamespace);
 }
Beispiel #2
0
 public function testNormalizeClassname()
 {
     // ClassName -> ClassName
     $this->assertEquals('ClassName', Standard::normalizeClassName('ClassName'), 'ClassName -> ClassName');
     // Namespace\ClassName -> Namespace\ClassName
     $this->assertEquals('Namespace\\ClassName', Standard::normalizeClassName('Namespace\\ClassName'), 'Namespace\\ClassName -> Namespace\\ClassName');
     // \Namespace\ClassName -> Namespace\ClassName
     $this->assertEquals('Namespace\\ClassName', Standard::normalizeClassName('\\Namespace\\ClassName'), '\\Namespace\\ClassName -> Namespace\\ClassName');
 }
 public function __construct(Logger $logger, $srcDir, TwigEngine $twigEngine, Reader $reader, $sourceNamespace, $targets = [], $localClassName)
 {
     parent::__construct($logger, $sourceNamespace, $targets);
     $this->srcDir = $srcDir;
     $this->twigEngine = $twigEngine;
     $this->reader = $reader;
     $this->localClassName = Standard::normalizeClassName($localClassName);
     $this->className = $this->namespace . '\\' . $this->localClassName;
     $slashPos = strrpos($this->localClassName, '\\');
     if ($slashPos === false) {
         $this->localNamespace = '';
     } else {
         $this->localNamespace = substr($this->localClassName, 0, $slashPos);
     }
     $this->loadClass();
     $this->loadProperties();
     $this->checkPropertiesTargets();
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $container = $this->getContainer();
     $sourceName = Standard::normalizeName($input->getArgument('source'));
     $localClassName = Standard::normalizeClassName($input->getArgument('localClassName'));
     $serviceName = 'leoza.entity_generator.' . $sourceName;
     if (!$sourceName || !$container->has($serviceName)) {
         $output->writeln(sprintf('Entities source "%s" is not configured', $sourceName));
         return;
     }
     $generator = $container->get($serviceName);
     /* @var $generator EntityGenerator */
     $output->write('Generating... ');
     if ($localClassName) {
         $generator->generate($localClassName);
     } else {
         $generator->generateAll();
     }
     $output->writeln('done.');
 }