simpletools / functionparser
PHP函数、方法和闭包的解析器
Requires
- php: >=7.4
This package is auto-updated.
Last update: 2024-09-16 16:32:15 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