/** * Retrieves the generated hydrator FQCN * * @return string */ public function getHydratorClass() { $inflector = $this->configuration->getClassNameInflector(); $realClassName = $inflector->getUserClassName($this->configuration->getHydratedClassName()); $hydratorClassName = $inflector->getGeneratedClassName($realClassName, array('factory' => get_class($this))); if (!class_exists($hydratorClassName) && $this->configuration->doesAutoGenerateProxies()) { $generator = new HydratorGenerator(); $originalClass = new ReflectionClass($realClassName); $generatedAst = $generator->generate($originalClass); $traverser = new NodeTraverser(); $traverser->addVisitor(new ClassRenamerVisitor($originalClass, $hydratorClassName)); $this->configuration->getGeneratorStrategy()->generate($traverser->traverse($generatedAst)); $this->configuration->getGeneratedClassAutoloader()->__invoke($hydratorClassName); } return $hydratorClassName; }
/** * @covers \GeneratedHydrator\Configuration::setHydratedClassName * @covers \GeneratedHydrator\Configuration::getHydratedClassName */ public function testGetSetHydratedClassName() { $this->assertSame('test', $this->configuration->getHydratedClassName()); $this->configuration->setHydratedClassName('bar'); $this->assertSame('bar', $this->configuration->getHydratedClassName()); }