Skip to content

msjyoo/scope-resolver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScopeResolver for PHP-Parser

This is a NodeVisitor component for nikic/PHP-Parser that resolves the scope of classes, functions, namespace and closures, and appends them to every node as an attribute.

This can be useful if you need a unique scope identifier for anything, e.g. checking the scope of a variable.

Currently, only PHP5 is supported but I'm working on PHP7 support.

Usage

Usage is really really really simple.

use sekjun9878\ScopeResolver\NodeVisitor\ScopeResolver;

$parser        = (new ParserFactory)->create(ParserFactory::PREFER_PHP5);
$traverser     = new NodeTraverser;

// Add the ScopeResolver visitor
$traverser->addVisitor(new ScopeResolver);

$stmts = $parser->parse($code);
$stmts = $traverser->traverse($stmts);

// Now every node will have a "scope" attribute attached.

About

Scope Resolver for PHP-Parser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages