Joli\Jane\Generator\NormalizerGenerator::createNormalizerFactoryClass PHP Метод

createNormalizerFactoryClass() защищенный Метод

protected createNormalizerFactoryClass ( $classes )
    protected function createNormalizerFactoryClass($classes)
    {
        $statements = [new Expr\Assign(new Expr\Variable('normalizers'), new Expr\Array_()), new Expr\Assign(new Expr\ArrayDimFetch(new Expr\Variable('normalizers')), new Expr\New_(new Name('\\Joli\\Jane\\Runtime\\Normalizer\\ArrayDenormalizer')))];
        if ($this->useReference) {
            $statements = [new Expr\Assign(new Expr\Variable('normalizers'), new Expr\Array_()), new Expr\Assign(new Expr\ArrayDimFetch(new Expr\Variable('normalizers')), new Expr\New_(new Name('\\Joli\\Jane\\Runtime\\Normalizer\\ReferenceNormalizer'))), new Expr\Assign(new Expr\ArrayDimFetch(new Expr\Variable('normalizers')), new Expr\New_(new Name('\\Joli\\Jane\\Runtime\\Normalizer\\ArrayDenormalizer')))];
        }
        foreach ($classes as $class) {
            $statements[] = new Expr\Assign(new Expr\ArrayDimFetch(new Expr\Variable('normalizers')), new Expr\New_($class));
        }
        $statements[] = new Stmt\Return_(new Expr\Variable('normalizers'));
        return new Stmt\Class_('NormalizerFactory', ['stmts' => [new Stmt\ClassMethod('create', ['type' => Stmt\Class_::MODIFIER_STATIC | Stmt\Class_::MODIFIER_PUBLIC, 'stmts' => $statements])]]);
    }