@rightcapital/php-parser v1.1.3
PHP Parser TypeScript version
Introduction
This NPM package is focusing on providing to following abilities:
- A TypeScript/JavaScript wrapper to calling nicki's PHP-Parser
- Sort of auto generated type definitions to annotate the AST (represented as JSON) from nicki's PHP-Parser cli
- Some util/helper functions to easily retrieving proper PHP AST node with correct type annotation
Installation
This package needs you have PHP with composer installed first
# pnpm
pnpm add @rightcapital/php-parser
# yarn
yarn add @rightcapital/php-parser
# npm
npm install --save @rightcapital/php-parser
Basic Usage
Supposed you have a PHP file named hello.php
with the following content
<?php
echo "Hello";
import {
CliHelpers,
FullyQualifiedScalarString,
FullyQualifiedStmtEcho,
NodeRetrieverHelpers,
NodeTypeInheritingFromNodeAbstract,
} from "@rightcapital/php-parser";
// Get the root AST nodes from PHP file
const rootNodes: NodeTypeInheritingFromNodeAbstract[] =
CliHelpers.parsePhpFileToAst("./hello.php");
console.log(rootNodes);
// [
// {
// nodeType: "Stmt_Echo",
// attributes: { startLine: 2, startFilePos: 6, endLine: 2, endFilePos: 18 },
// exprs: [[Object]],
// },
// ];
const echoNode =
NodeRetrieverHelpers.findNodeByNodeType<FullyQualifiedStmtEcho>(
rootNodes,
"Stmt_Echo"
);
// Get the specified node with type annotation
console.log(echoNode);
// {
// nodeType: 'Stmt_Echo',
// attributes: { startLine: 2, startFilePos: 6, endLine: 2, endFilePos: 18 },
// exprs: [
// { nodeType: 'Scalar_String', attributes: [Object], value: 'Hello' }
// ]
// }
const scalarStringNode =
NodeRetrieverHelpers.findNodeByNodeType<FullyQualifiedScalarString>(
echoNode!.exprs,
"Scalar_String"
);
console.log(scalarStringNode?.value);
// Hello
2 days ago
1 day ago
2 days ago
4 days ago
4 days ago
4 days ago
3 days ago
3 days ago
5 days ago
6 days ago
7 days ago
8 days ago
8 days ago
9 days ago
9 days ago
9 days ago
10 days ago
11 days ago
15 days ago
15 days ago
16 days ago
16 days ago
16 days ago
18 days ago
18 days ago
21 days ago
21 days ago
21 days ago
21 days ago
21 days ago
21 days ago
21 days ago
21 days ago
22 days ago
24 days ago
23 days ago
25 days ago
25 days ago
25 days ago
25 days ago
25 days ago
25 days ago
26 days ago
26 days ago
29 days ago
30 days ago
1 month ago
29 days ago
29 days ago
29 days ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
2 months ago
3 months ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago