@@ -5,14 +5,14 @@ PHP code generation based on AST.
55## Installation
66
77``` bash
8- $ composer require open-code-modeling/php-code-ast --dev
8+ $ composer require open-code-modeling/php-code-ast
99```
1010
1111## Usage
1212
1313> See unit tests in ` tests ` folder for comprehensive examples.
1414
15- Let's start with a straightforward example of generating a class with the ` ClassFactory ` :
15+ Let's start with a straightforward example of generating a class with the ` ClassBuilder ` :
1616
1717``` php
1818<?php
@@ -22,16 +22,16 @@ $printer = new PhpParser\PrettyPrinter\Standard(['shortArraySyntax' => true]);
2222
2323$ast = $parser->parse('');
2424
25- $classFactory = OpenCodeModeling\CodeAst\Builder\ClassBuilder::fromScratch('TestClass', 'My\\Awesome\\Service');
26- $classFactory
25+ $classBuilder = OpenCodeModeling\CodeAst\Builder\ClassBuilder::fromScratch('TestClass', 'My\\Awesome\\Service');
26+ $classBuilder
2727 ->setFinal(true)
2828 ->setExtends('BaseClass')
2929 ->setNamespaceImports('Foo\\Bar')
3030 ->setImplements('\\Iterator', 'Bar');
3131
3232$nodeTraverser = new PhpParser\NodeTraverser();
3333
34- $classFactory ->injectVisitors($nodeTraverser, $parser);
34+ $classBuilder ->injectVisitors($nodeTraverser, $parser);
3535
3636print_r($printer->prettyPrintFile($nodeTraverser->traverse($ast)));
3737```
@@ -93,12 +93,15 @@ Now, change the body of the `toInt()` method to something else. You will see tha
9393
9494### Reverse usage
9595
96- It is also possible to create a factory class from parsed PHP AST. You can create an instance of ` OpenCodeModeling\CodeAst\Factory\ClassFactory ` by
97- calling ` OpenCodeModeling\CodeAst\Factory\ClassFactory ::fromNodes() ` .
96+ It is also possible to create a factory class from parsed PHP AST. You can create an instance of
97+ ` OpenCodeModeling\CodeAst\Builder\ClassBuilder ` by calling ` OpenCodeModeling\CodeAst\Builder\ClassBuilder ::fromNodes() ` .
9898
9999``` php
100100<?php
101- $expected = <<<'EOF'
101+ $parser = (new PhpParser\ParserFactory())->create(PhpParser\ParserFactory::ONLY_PHP7);
102+ $printer = new PhpParser\PrettyPrinter\Standard(['shortArraySyntax' => true]);
103+
104+ $expected = <<<'EOF'
102105<?php
103106
104107declare (strict_types=1);
@@ -114,12 +117,11 @@ EOF;
114117
115118$ast = $parser->parse($expected);
116119
117- $classFactory = OpenCodeModeling\CodeAst\Builder\ClassBuilder::fromNodes(...$ast);
118-
119- $classFactory->getName(); // TestClass
120- $classFactory->getExtends(); // BaseClass
121- $classFactory->isFinal(); // true
122- $classFactory->isStrict(); // true
123- $classFactory->isAbstract(); // false
120+ $classBuilder = OpenCodeModeling\CodeAst\Builder\ClassBuilder::fromNodes(...$ast);
124121
122+ $classBuilder->getName(); // TestClass
123+ $classBuilder->getExtends(); // BaseClass
124+ $classBuilder->isFinal(); // true
125+ $classBuilder->isStrict(); // true
126+ $classBuilder->isAbstract(); // false
125127```
0 commit comments