tcopestake / php-parser-psr-2-pretty-printer
此包的最新版本(dev-master)没有可用的许可证信息。
PHP-Parser 的 PSR-2 格式化打印器。
dev-master
2020-01-29 11:41 UTC
Requires
- php: >=5.2
- nikic/php-parser: *
This package is not auto-updated.
Last update: 2024-09-24 05:25:58 UTC
README
不出所料,这是为 PHP-Parser 的 PSR-2 格式化打印器。
安装
Composer
将此包添加到您的 composer.json 的需求中,例如:
"require": {
"tcopestake/php-parser-psr-2-pretty-printer": "dev-release"
}
用法
要使用此格式化打印器,实例化 PHPParserPSR2_Printer 而不是(例如)PHPParser_PrettyPrinter_Default,并像平常一样使用它。例如
$printer = new PHPParserPSR2_Printer;
...
echo $printer->prettyPrint($stmts);
特性
与默认格式化打印器不同的有意更改包括:
- 如果实现了多个接口,则每个定义将放在新的一行上。
- 闭包定义中 "use" 和参数之间的空格。
- 如果方法定义了两个以上的参数,则每个定义将放在新的一行上。
- 如果方法传递了两个以上的参数,则每个参数将放在新的一行上。
- 可选 方法重命名。(见下文)
方法重命名
默认情况下,方法名称被视为易变的,因此不会重命名。但是,如果您愿意,可以调用 setMethodsVolatile(false) 以使打印器将蛇形方法名称转换为驼峰式。例如
protected function do_something() {
return 1 + 1;
}
function get_class_to_do_something() {
return $this->do_something();
}
变为
protected function doSomething()
{
return 1 + 1;
}
public function getClassToDoSomething()
{
return $this->doSomething();
}
示例
输入
class ABC extends \A implements \B, \C {
public function a_method_name($awefwefwef, $ywefwefwefwefwef, $wwefwefwefwefwe) {
$x = function() use($awefwefwef, $wwefwefwefwefwe)
{
if(1==1)
return $ywefwefwefwefwef;
};
// do something
echo $x;
}
function bxy(array $g)
{
// do something
return $this->a_method_name($g, $f, $x);
}
function z(array $g)
{
foreach($y as $n)
{
}
}
}
输出
class ABC extends \A implements
\B,
\C
{
public function aMethodName(
$awefwefwef,
$ywefwefwefwefwef,
$wwefwefwefwefwe
) {
$x = function () use ($awefwefwef, $wwefwefwefwefwe) {
if (1 == 1) {
return $ywefwefwefwefwef;
}
};
// do something
echo $x;
}
public function bxy(array $g)
{
// do something
return $this->aMethodName(
$g,
$f,
$x
);
}
public function z(array $g)
{
foreach ($y as $n) {
}
}
}
许可证
MIT