sekjun9878/scope-resolver

PHP-Parser 的作用域解析器

dev-master 2015-11-07 10:05 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:36:34 UTC


README

这是一个为 nikic/PHP-Parser 的 NodeVisitor 组件,用于解析类、函数、命名空间和闭包的作用域,并将它们作为属性附加到每个节点。

如果您需要任何内容的唯一作用域标识符,例如检查变量的作用域,这可能会很有用。

目前仅支持 PHP5,但我正在开发 PHP7 支持。

使用方法

使用方法非常简单。

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.