protected function getLocalClassNameFromTarget($targetName, $className) { $targetNamespace = $this->getTargetNamespace($targetName); if (!$targetNamespace) { return null; } return Standard::getLocalClassNameInNamespace(Standard::normalizeClassName($className), $targetNamespace); }
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.'); }