Comment on page
Overview
php-parser
This javascript library parses PHP code and convert it to AST.
npm install php-parser --save
// initialize the php parser factory class
var fs = require('fs');
var path = require('path');
var engine = require('php-parser');
// initialize a new parser instance
var parser = new engine({
// some options :
parser: {
extractDoc: true,
php7: true
},
ast: {
withPositions: true
}
});
// Retrieve the AST from the specified source
var eval = parser.parseEval('echo "Hello World";');
// Retrieve an array of tokens (same as php function token_get_all)
var tokens = parser.tokenGetAll('<?php echo "Hello World";');
// Load a static file (Note: this file should exist on your computer)
var phpFile = fs.readFileSync( './example.php' );
// Log out results
console.log( 'Eval parse:', eval );
console.log( 'Tokens parse:', tokens );
console.log( 'File parse:', parser.parseCode(phpFile) );
{
'kind': 'program',
'children': [
{
'kind': 'echo',
'arguments': [
{
'kind': 'string',
'isDoubleQuote': true,
'value': 'Hello World'
}
]
}
]
}
The main API exposes a class with the following methods :
- parseEval(String|Buffer) : parse a PHP code in eval style mode (without php open tags)
- parseCode(String|Buffer, String filename) : parse a PHP code by using php open tags.
- tokenGetAll(String|Buffer) : retrieves a list of all tokens from the specified input.
- babel-preset-php : Babel preset for converting PHP syntax to JavaScript. It can run subset of PHP in the browser or in Node.js
You can add here your own project by opening an issue request.
This library is released under BSD-3 license clause.
Last modified 4yr ago