mck89 / peast
Peast 是一个 PHP 库,用于生成 JavaScript 代码的 AST
v1.16.3
2024-07-23 14:00 UTC
Requires
- php: >=5.4.0
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0
- dev-master / 1.16.3.x-dev
- v1.16.3
- v1.16.2
- v1.16.1
- v1.16.0
- 1.15.x-dev
- v1.15.4
- v1.15.3
- v1.15.2
- v1.15.1
- v1.15.0
- 1.14.x-dev
- v1.14.0
- 1.13.x-dev
- v1.13.11
- v1.13.10
- v1.13.9
- v1.13.8
- v1.13.7
- v1.13.6
- v1.13.5
- v1.13.4
- v1.13.3
- v1.13.2
- v1.13.0
- 1.12.x-dev
- v1.12.0
- 1.11.x-dev
- v1.11.0
- 1.10.x-dev
- v1.10.4
- v1.10.3
- v1.10.2
- v1.10.1
- v1.10
- 1.9.x-dev
- v1.9.4
- v1.9.3
- v1.9.2
- v1.9.1
- v1.9
- 1.8.x-dev
- v1.8.1
- v1.8
- 1.7.x-dev
- v1.7
- 1.6.x-dev
- v1.6
- 1.5.x-dev
- v1.5
- 1.4.x-dev
- v1.4
- 1.3.x-dev
- v1.3
- 1.2.x-dev
- v1.2
- 1.1.x-dev
- v1.1
- 1.0.x-dev
- v1.0
- dev-php-8.4-compatibility
- dev-performance
This package is auto-updated.
Last update: 2024-08-23 14:13:40 UTC
README
Peast (PHP ECMAScript 抽象语法树) 是一个 PHP 5.4+ 库,它根据 ECMAScript 规范解析 JavaScript 代码,并生成遵循 ESTree 标准的抽象语法树。
安装
将以下需求添加到您的 composer.json 文件中
{ "require": { "mck89/peast": "dev-master" } }
运行 composer install
以安装此包。
然后在您的脚本中包含自动加载器,您就可以开始使用 Peast 了
require_once "vendor/autoload.php"; $source = "var a = 1"; // Your JavaScript code $ast = Peast\Peast::latest($source, $options)->parse(); // Parse it!
已知问题
当启用 Xdebug 并且使用 Peast 扫描包含深层嵌套函数的代码时,可能会出现以下致命错误
PHP Fatal error: Maximum function nesting level of '512' reached, aborting!
或者
PHP Warning: Uncaught Error: Xdebug has detected a possible infinite loop, and aborted your script with a stack depth of '256' frames
为防止这种情况,可以将 xdebug.max_nesting_level
设置为一个更高的值,例如 512。
文档
阅读文档以获取更多示例和说明