Исправление стандартов автоматического кодирования PHP для невисящих фигурных скобок?

Возможный дубликат:
Есть ли какие-либо бесплатные скрипты командной строки, которые могут переформатировать исходный код PHP?

Я оценивал несколько средств исправления стандартов кодирования для работы с нашим кодом. Это сделано для автоматического исправления устаревшего кода, в котором используются устаревшие вещи, такие как комментарии в стиле Perl.

Наиболее полезным средством исправления, которое я использовал до сих пор, является php-tidy, который можно найти здесь: http://phptidy.berlios.de/

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

Может ли кто-нибудь указать мне инструмент командной строки (на основе Linux), который может применить исправление для использования фигурных скобок в стиле ANSI?:

function nice_brace()
{
    if (isset($nicebrace))
    {
        // I like non-hanging braces
    }
}

Вместо стиля PEAR/Zend:

function ugly_brace() {
    if (isset($ugly_brace)) {
        // I find this code harder to read
    }
}

Редактировать: для тех, кто ищет что-то подобное, проверьте этот скрипт: //raw.github.com/gist/366837/25713637b6f2f9e1ec63abf3233142765df4b931/phpbb-reformat.pl

Большое спасибо


person user1027562    schedule 10.10.2012    source источник
comment
получить ide, который позволяет вам делать это, как Zend Studio   -  person    schedule 10.10.2012


Ответы (1)


Я использую следующую команду в Vim, чтобы исправить это

:g/^\s*{\s*$/normal kJ

Подробнее об этом вопросе о стеке с переполнением

person Sudar    schedule 10.10.2012
comment
Я никогда не думал об использовании vim для этого. Это почти то, что я хочу, только я хочу, чтобы это было наоборот. Я поэкспериментирую с этим и попытаюсь найти решение, спасибо! - person user1027562; 10.10.2012
comment
:%s/^\(\s*\).*\zs{\s*$/\r\1{/ Это делает то, что я хочу в vim. Однако это слишком ручное управление. Я бы предпочел инструмент cli, чтобы я мог автоматизировать средство исправления через свой сервер Jenkins. Инструмент не обязательно должен быть специфичным для PHP. - person user1027562; 10.10.2012
comment
У меня была мозговая волна, что вместо использования vim я мог бы просто использовать какой-нибудь старый добрый awk и sed - person user1027562; 11.10.2012
comment
Верно. Поместите его в файл оболочки, и вы получите свой инструмент CLI. - person Chiel ten Brinke; 11.10.2012