Documentation ¶
Overview ¶
A Parser for PHP written in Go
Features:
- Fully support PHP5 and PHP7 syntax
- Abstract syntax tree representation
- Traversing AST
- Namespace resolver
Install:
go get github.com/z7zmey/php-parser
CLI dumper:
$GOPATH/bin/php-parser -php5 /path/to/file/or/dir
Package usage example:
package main import ( "fmt" "bytes" "os" "github.com/z7zmey/php-parser/php7" "github.com/z7zmey/php-parser/visitor" ) func main() { src := bytes.NewBufferString(`<? echo "Hello world";`) parser := php7.NewParser(src, "example.php") parser.Parse() for _, e := range parser.GetErrors() { fmt.Println(e) } visitor := visitor.Dumper{ Writer: os.Stdout, Indent: "", Comments: parser.GetComments(), Positions: parser.GetPositions(), } rootNode := parser.GetRootNode() rootNode.Walk(visitor) }
Directories ¶
Path | Synopsis |
---|---|
Package scanner transforms an input string into a stream of PHP tokens.
|
Package scanner transforms an input string into a stream of PHP tokens. |
Package visitor contains walker.visitor implementations Package visitor contains walker.visitor implementations Package visitor contains walker.visitor implementations Package visitor contains walker.visitor implementations Package visitor contains walker.visitor implementations
|
Package visitor contains walker.visitor implementations Package visitor contains walker.visitor implementations Package visitor contains walker.visitor implementations Package visitor contains walker.visitor implementations Package visitor contains walker.visitor implementations |
Package walker declares walking behavior
|
Package walker declares walking behavior |
Click to show internal directories.
Click to hide internal directories.