/** * @covers \GeneratedHydrator\Configuration::doesAutoGenerateProxies * @covers \GeneratedHydrator\Configuration::setAutoGenerateProxies */ public function testGetSetAutoGenerateProxies() { $this->assertTrue($this->configuration->doesAutoGenerateProxies(), 'Default setting check for BC'); $this->configuration->setAutoGenerateProxies(false); $this->assertFalse($this->configuration->doesAutoGenerateProxies()); $this->configuration->setAutoGenerateProxies(true); $this->assertTrue($this->configuration->doesAutoGenerateProxies()); }
/** * 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; }