У меня есть класс PHP с кучей методов. В настоящее время они не в определенном порядке. Я хотел бы (по крайней мере изначально), чтобы они были в алфавитном порядке, так public function a()
придет раньше public function b()
и так далее.
Я уверен, что мог бы написать скрипт для этого, но есть ли существующая программа, которая может сделать это для меня? Все, что я могу найти, это способы сортировки отдельных строк.
Вы можете найти документацию отражение полезно, вот пример:
$reflector = new ReflectionClass('example');
$methods = $reflector->getMethods();
usort($methods, function($method1, $method2) {
return strcasecmp($method1->getName(), $method2->getName());
});
Однако я бы не рекомендовал вам делать это, так как лучше упорядочить ваши методы в соответствии с тем, что они делают, для вас или любого другого программиста, который может прочитать ваш код.
То, что вы хотите сделать, это работать с IDE, которая может изменить представление без изменения исходного кода. Это могут сделать многие IDE, в том числе Netbeans и Eclipse.
Различные IDE могут сделать это для вас. Очевидно, что Eclipse может, я знаю, что PHPStorm может, и Netbeans, вероятно, может сделать это также.
Но я бы не стал этого делать. Это не нужно. Правильная IDE должна отображать список методов в любом порядке, который вам нравится, и позволять вам переходить к ним.
Более того, если вы хотите переименовать метод, вам также придется его переместить. Если вы фиксируете изменения в управлении версиями, похоже, что весь метод был удален, а другой был вставлен. Это действительно портит вашу историю и затрудняет просмотр изменений.
Раньше у нас был алфавитный порядок в качестве руководства по стилю кодирования, но мы его (к счастью) отбросили именно по этой причине.