Автоматическое переформатирование унаследованного PHP-кода спагетти

Я взял на себя смешанный проект PHP4 / PHP5, который был передан от разработчика к разработчику, и каждый из них ухудшает ситуацию. Прежде чем тратить на это слишком много времени, я хотел бы разработать базовый стандарт с минимальным согласованным форматированием.

Кто-нибудь может порекомендовать утилиту (предпочтительно Linux или Mac OS X), которая будет переформатировать код?

Если я могу установить параметры, которые влияют на вывод (например, табуляция, размещение скобок / скобок, когда разбивать значения массива на новые строки и т. Д.), То это преимущество, хотя и не принципиально.

Предпочтение отдается инструментам с открытым исходным кодом, хотя я хотел бы также узнать ваш опыт работы с приобретенным программным обеспечением.

15.12.2008 01:23:06
6 ОТВЕТОВ
РЕШЕНИЕ

Вы можете сделать это с Netbeans или с Eclipse PDT , оба превосходных редактора PHP. В каждом из них есть параметр Формат кода, который будет переформатировать выбранный файл в соответствии с вашими предпочтениями стиля кода. Также может быть возможность форматировать код навалом.

Я рекомендую, если вы сделаете это, выполните форматирование и сразу же верните код обратно с большим жирным «РЕФОРМАЦИЯ!» комментарий. Попытка смешать другие исправления ошибок с переформатированием приводит к неприглядным разностным файлам, чтобы попытаться расшифровать их в будущем.

11
15.12.2008 01:38:54
Вы можете массово форматировать с Netbeans. Просто выделите файлы на боковой панели и выберите «Источник»> «Формат».
Henry 3.10.2014 00:03:28

Я использовал http://www.phpformatter.com/ , который является онлайн-инструментом.

2
15.12.2008 01:47:10

Оформить заказ CodeSniffer . Я также использовал этот скрипт

0
15.12.2008 02:18:33

В своем собственном поиске я нашел статью Википедии о Pretty Print, которая, я думаю, будет полезна.

0
15.12.2008 04:38:53

Я использую phptidy: http://cmr.cx/phptidy/ https://github.com/cmrcx/phptidy

По своему дизайну это не так агрессивно, как perltidy, но все же очень полезно. Он может быть настроен и будет делать все файлы php в вашем проекте в виде пакета.

Обновление: для более агрессивного инструмента, основанного на стандартах, рассмотрите PHP CS Fixer: https://github.com/FriendsOfPhp/PHP-CS-Fixer

5
15.01.2016 20:35:22

Что-то, что я недавно нашел, и что я сейчас люблю и постоянно использую. В VIM:

gg=G

Для этого требуется следующая опция конфигурации, которую вы можете установить в своем ~/.vimrc:

filetype plugin indent on
1
9.03.2012 04:24:08