jeremeamia / functionparser
PHP 函数、方法和闭包的解析器
Requires
- php: >=5.3.2
This package is auto-updated.
Last update: 2024-09-20 10:14:56 UTC
README
由 Jeremy Lindblom 开发的 PHP 函数解析器库。
目的
PHP FunctionParser 提供了解析和检索现有函数定义字符串的能力。这可以巧妙地用于生成文档或示例代码,甚至可以序列化闭包。
该类还允许您获取有关函数的信息,例如参数名称和闭包的 use
语句中的变量名称和值。
通用使用
FunctionParser 依赖于反射 API 和 PHP 标记化程序(token_get_all()
),因此 PHP 必须在编译时使用 --enable-tokenizer
标志来启用标记化程序。
以下是一个简单示例,说明其工作原理
use FunctionParser\FunctionParser; $foo = 2; $closure = function($bar) use($foo) { return $foo + $bar; }; $parser = new FunctionParser(new \ReflectionFunction($closure)); $code = $parser->getCode();
您还可以使用 fromCallable
工厂方法作为从任何 PHP 可调用对象自动生成反射函数的便捷方式
$parser = FunctionParser::fromCallable(function($foo) {echo $foo . 'bar';}); $parser = FunctionParser::fromCallable('Foo::bar'); $parser = FunctionParser::fromCallable(array('Foo', 'bar'));
安装
FunctionParser 依赖于反射 API 和 PHP 标记化程序(token_get_all()
),因此 PHP 必须在编译时使用 --enable-tokenizer
标志来启用标记化程序。
要求
- PHP 5.3.2+
- PHPUnit 用于测试
- Composer 用于将 FunctionParser 作为依赖项使用
要使用 Composer 将 FunctionParser 作为项目的依赖项安装,请将以下内容添加到您的 composer.json
配置文件中。
{ "require": { "jeremeamia/FunctionParser": "*" } }
然后,从项目的根目录运行 php composer.phar install --install-suggests
来安装 FunctionParser。
构建
有一个 buid.xml
文件,您可以使用它来生成测试覆盖率报告、文档和代码分析。当前文件旨在与 ant
一起使用,但我将很快将其迁移到 phing
。更多内容稍后揭晓。
测试套件和代码覆盖率报告目前设置为在 Travis CI 上运行。[在 Travis CI 上查看 FunctionParser] travis-ci