是否有任何工具可以在代码中按名称对PHP类方法进行排序?

时间:2013-02-19 09:18:10

标签: php netbeans ide coding-style

我想知道是否有任何工具可以对PHP代码进行排序(完全按名称排序类的方法)。我一直在谷歌搜索一段时间,但我没有找到任何东西。

编辑:我有很多混合的setter和getter方法,我想订购它们以获得代码可读性并且更容易找到它们。当然,我更喜欢对相关方法进行分组,而不是按字母顺序对所有方法进行排序,但在每个组中我更喜欢按照这种方式对它们进行排序。

1 个答案:

答案 0 :(得分:3)

您不希望在文件本身中按字母顺序排序您的类方法。当属于一起的方法彼此接近时,代码更容易阅读:

  

密切相关的概念应该保持垂直相近[G10] [...]我们希望避免强迫我们的读者浏览我们的源文件和类

来自Martin,Clean Code,“Vertical Distance”,pg。 80

如果您需要按字母顺序查看它们,请改用IDE的动态视图。在Netbeans中,这称为类大纲视图。有关如何启用此功能,请参阅Where is the "class outline view" in Netbeans for PHP?

如果您出于某种原因迫切想要使用PHP,可以使用Reflection API

// 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个对象数组。