tpunt / php-ast-reverter
Reverts an AST back into (somewhat) PSR-compliant code
v2.0
2017-06-12 18:35 UTC
Requires
- php: >=7.0
- ext-ast: *
Requires (Dev)
- phpunit/phpunit: ^6
This package is not auto-updated.
Last update: 2024-12-07 18:50:40 UTC
README
A tool that reverts an abstract syntax tree (AST) produced by the php-ast extension back into (somewhat) PSR-compliant code. This enables for code preprocessing to be done.
Requirements:
- PHP 7.*
- php-ast extension (compatible with versions 30, 35, 40, 45, and 50)
Installation
Composer
composer require tpunt/php-ast-reverter
Example
Running the following code snippet:
<?php $code = <<<'end' <?php /** * My testing class */ class ClassName extends AnotherClass implements AnInterface { /** * Some property */ private $prop = 0; const TEST = 'string'; use TraitA, TraitB { TraitA::func1 insteadof TraitB; TraitB::func1 as protected func2; } /** * Some useless constructor */ function __construct(int $arg = 1) { $this->prop = $arg; } } end; $ast = ast\parse_code($code, $version=40); echo (new AstReverter\AstReverter)->getCode($ast);
Will output:
<?php /** * My testing class */ class ClassName extends AnotherClass implements AnInterface { /** * Some property */ private $prop = 0; const TEST = "string"; use TraitA, TraitB { TraitA::func1 insteadof TraitB; TraitB::func1 as protected func2; } /** * Some useless constructor */ public function __construct(int $arg = 1) { $this->prop = $arg; } }