Extension exposing PHP 7 abstract syntax tree
php-ast exports the AST internally used by PHP 7.
php-ast is significantly faster than PHP-Parser, because the AST construction is implemented in C.
However, php-ast may only parse code that is syntactically valid on the version of PHP it runs on.
License: BSD-3-Clause
Version | Release | Download |
1.1.2 | 2024-08-10 | ast-1.1.2.tgz |
1.1.1 | 2023-11-12 | ast-1.1.1.tgz |
1.1.0 | 2022-08-09 | ast-1.1.0.tgz |
1.0.16 | 2021-11-27 | ast-1.0.16.tgz |
1.0.15 | 2021-11-27 | ast-1.0.15.tgz |
Version | Message |
1.1.2 |
- Fix compilation errors in PHP 8.4. - In version 110, `AST_PARAM` and `AST_PROP_ELEM` nodes have a `hooks` node for property hooks (https://wiki.php.net/rfc/property-hooks) - In version 110, `AST_CLOSURE` and `AST_ARROW_FUNC` nodes have no `name`. |
1.1.1 |
- Added support for PHP 8.3 - In version 100, `AST_CLASS_CONST_GROUP` nodes have a `type` child node to represent typed class constants. |
1.1.0 |
- Change documentation files to properly namespace attributes as `#[\AllowDynamicProperties]`. The reflection attributes are already correct. - Deprecated AST versions 50 and 60. - Drop support for php <= 7.1 - Fix test failures seen in php 8.2.0beta2 due to change to var_export's output format. - Add support for php 8.2 readonly classes. Add `ast\flags\CLASS_READONLY` constant. - Add support for php 8.2 `true` type. Add `ast\flags\TYPE_TRUE` constant. - Fix bug in php 8.2 where ZEND_AST_ARROW_FUNC output did not include the stub `AST_RETURN` node that was included in php 8.1 and below. |
1.0.16 |
- Optimize instantiating properties of ast\Node and ast\Metadata. - Document that ast\Node implements `#[AllowDynamicProperties]` in php 8.2 |
1.0.15 | - Allow ast\Node to have dynamic properties without emitting a notice in PHP 8.2. |