mck89/peast
Peast
Peast (PHP ECMAScript Abstract Syntax Tree) is a PHP 5.4+ library that parses JavaScript code, according to ECMAScript specification, and generates an abstract syntax tree following the ESTree standard.
Installation
Include the following requirement to your composer.json:
{
"require": {
"mck89/peast": "dev-master"
}
}
Run composer install to install the package.
Then in your script include the autoloader and you can start using Peast:
require_once "vendor/autoload.php";
$source = "var a = 1"; // Your JavaScript code
$ast = Peast\Peast::latest($source, $options)->parse(); // Parse it!
Known issues
When Xdebug is enabled and Peast is used to scan code that contains deeply nested functions, this fatal error can appear:
PHP Fatal error: Maximum function nesting level of '512' reached, aborting!
or
PHP Warning: Uncaught Error: Xdebug has detected a possible infinite loop, and aborted your script with a stack depth of '256' frames
To prevent this you can set xdebug.max_nesting_level to a higher value, such as 512.
Documentation
Read the documentation for more examples and explanations:
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.