必要な最大行長を強制できるphp-parser用のきれいなプリンターが存在するのだろうか?
(いくつかの基本的なケース (配列要素リスト、関数引数リスト) の実装はかなり簡単に思えますが、変数式などで困惑し始めます。)
必要な最大行長を強制できるphp-parser用のきれいなプリンターが存在するのだろうか?
(いくつかの基本的なケース (配列要素リスト、関数引数リスト) の実装はかなり簡単に思えますが、変数式などで困惑し始めます。)
返事が遅れて申し訳ありません。PHP Frontも使用できます。ステートメントのすべてのネストに対してインデントが行われ、ネストごとに 2 つのスペースが使用されます。
カスタマイズされたインデントが可能です。PHP Frontで利用できます。
パーサーとプリティ プリンターも、PHPのソース配布のテスト ファイルを使用して一緒にテストされます。
各テストファイルは、解析され、きれいに印刷され、解析され、再びきれいに印刷されます。
この往復の正確さは、解析された 2 つのファイルときれいに印刷された 2 つのファイルの間で diff を実行することによってテストされます。
ただし、多くの機能があるため、標準のものを使用することをお勧めしました。変数式と配列式の機能があります。PHP フロントの場合と同様に、配列の使用にはまだいくつかのバグがあります。
標準プリティプリンター: (変数式と配列)
public function pExpr_Variable(Expr\Variable $node) {
if ($node->name instanceof Expr) {
return '${' . $this->p($node->name) . '}';
} else {
return '$' . $node->name;
}
}
public function pExpr_Array(Expr\Array_ $node) {
return 'array(' . $this->pCommaSeparated($node->items) . ')';
}