07/11
2015
Wallogit.com
2017 © Pedro Peláez
Scope Resolver 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., (*1)
This can be useful if you need a unique scope identifier for anything, e.g. checking the scope of a variable., (*2)
Currently, only PHP5 is supported but I'm working on PHP7 support., (*3)
Usage is really really really simple., (*4)
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.