public function getHydratorClass() : string
    {
        $inflector         = $this->configuration->getClassNameInflector();
        $realClassName     = $inflector->getUserClassName($this->configuration->getHydratedClassName());
        $hydratorClassName = $inflector->getGeneratedClassName($realClassName, ['factory' => static::class]);

        if (! class_exists($hydratorClassName) && $this->configuration->doesAutoGenerateProxies()) {
            $generator     = $this->configuration->getHydratorGenerator();
            $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;
    }
public function getHydratorClass() : string
    {
        $inflector         = $this->configuration->getClassNameInflector();
        $realClassName     = $inflector->getUserClassName($this->configuration->getHydratedClassName());
        $hydratorClassName = $inflector->getGeneratedClassName($realClassName, ['factory' => static::class]);

        if (! class_exists($hydratorClassName) && $this->configuration->doesAutoGenerateProxies()) {
            $generator     = $this->configuration->getHydratorGenerator();
            $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;
    }
public function getHydratorClass ( ) : string { $ inflector = $ this -> configuration -> getClassNameInflector ( ) ; $ realClassName = $ inflector -> getUserClassName ( $ this -> configuration -> getHydratedClassName ( ) ) ; $ hydratorClassName = $ inflector -> getGeneratedClassName ( $ realClassName , [ 'factory' => static :: class ] ) ; if ( ! class_exists ( $ hydratorClassName ) && $ this -> configuration -> doesAutoGenerateProxies ( ) ) { $ generator = $ this -> configuration -> getHydratorGenerator ( ) ; $ 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 ; }
Retrieves the generated hydrator FQCN

@throws InvalidGeneratedClassesDirectoryException
Retrieves the generated hydrator FQCN