3

PHPコード(正確には名前でクラスのメソッド)をソートするためのツールがあるかどうか疑問に思いました。しばらくGoogleで検索してきましたが、何も見つかりませんでした。

編集済み:セッターメソッドとゲッターメソッドが混在しているので、コードを読みやすくし、見つけやすくするためにそれらを注文したいと思います。もちろん、すべてをアルファベット順にソートするのではなく、関連するメソッドをグループ化することを好みますが、各グループでは、それらをそのようにソートすることを好みます。

4

1 に答える 1

3

ファイル自体でクラスメソッドをアルファベット順に並べたくない場合。一緒に属するメソッドが互いに近い場合、コードは読みやすくなります。

密接に関連している概念は、互いに垂直に近づける必要があります[G10][…]読者がソースファイルやクラスを飛び回るのを強制しないようにします

マーティンから、クリーンコード、「垂直距離」、ページ。80

それらをアルファベット順に表示する必要がある場合は、代わりにIDEの動的ビューを使用してください。Netbeansでは、これはクラスアウトラインビューと呼ばれます。Netbeans for PHPの「クラスのアウトラインビュー」はどこにありますか?を参照してください。これを有効にする方法について。

何らかの理由でPHPを使用してこれを必死に実行したい場合は、ReflectionAPIを使用して実行できます。

// get all the methods
$reflector = new ReflectionClass('Foo');
$methods = $reflector->getMethods();

// sort methods alphabetically
usort($methods, function($method1, $method2) {
    return strcasecmp($method1->getName(), $method2->getName());
});

print_r($methods);

これにより、メソッド名でソートされたReflectionMethodオブジェクトの配列が得られます。

于 2013-02-19T09:42:54.600 に答える