Сортировка функций в исходном коде по алфавиту

У меня есть класс PHP с кучей методов. В настоящее время они не в определенном порядке. Я хотел бы (по крайней мере изначально), чтобы они были в алфавитном порядке, так public function a() придет раньше public function b() и так далее.

Я уверен, что мог бы написать скрипт для этого, но есть ли существующая программа, которая может сделать это для меня? Все, что я могу найти, это способы сортировки отдельных строк.

3

Решение

Вы можете найти документацию отражение полезно, вот пример:

$reflector = new ReflectionClass('example');
$methods = $reflector->getMethods();
usort($methods, function($method1, $method2) {
return strcasecmp($method1->getName(), $method2->getName());
});

Однако я бы не рекомендовал вам делать это, так как лучше упорядочить ваши методы в соответствии с тем, что они делают, для вас или любого другого программиста, который может прочитать ваш код.

То, что вы хотите сделать, это работать с IDE, которая может изменить представление без изменения исходного кода. Это могут сделать многие IDE, в том числе Netbeans и Eclipse.

1

Другие решения

Различные IDE могут сделать это для вас. Очевидно, что Eclipse может, я знаю, что PHPStorm может, и Netbeans, вероятно, может сделать это также.

Но я бы не стал этого делать. Это не нужно. Правильная IDE должна отображать список методов в любом порядке, который вам нравится, и позволять вам переходить к ним.

Более того, если вы хотите переименовать метод, вам также придется его переместить. Если вы фиксируете изменения в управлении версиями, похоже, что весь метод был удален, а другой был вставлен. Это действительно портит вашу историю и затрудняет просмотр изменений.

Раньше у нас был алфавитный порядок в качестве руководства по стилю кодирования, но мы его (к счастью) отбросили именно по этой причине.

3

По вопросам рекламы [email protected]