Сведения о вопросе

Faridun

22:13, 24th August, 2020

Теги

php   refactoring    

Инструменты для рефакторинга кода PHP

Просмотров: 598   Ответов: 15

Существуют ли какие-либо инструменты, поддерживающие рефакторинг кода PHP (переименование переменных, извлечение методов, поиск ссылок на методы,...)? Спасибо.



  Сведения об ответе

DO__IT

16:58, 13th August, 2020

Scisr -это простой автономный инструмент рефакторинга для PHP.

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

Многие из моих целей дизайна возникли из - за неадекватности других элементов, упомянутых здесь-они связаны с определенными IDEs, или пытаются диктовать ваши методы тестирования, или требуют целого набора механического ручного труда. Я надеюсь создать в целом лучший опыт работы в Scisr. Он прост в установке и запуске. Он пытается быть умным, но не слишком умным. Он выполняет задачи, которые, как я обнаружил, лучше всего поддаются автоматизации. Наслаждайтесь!


  Сведения об ответе

ЯЯ__4

04:24, 14th August, 2020

рефактор -это автоматический инструмент рефакторинга. Он все еще немного неполон, но у него есть несколько основных рефакторингов.

Кроме того, хороший набор тестов-это действительно лучший инструмент для рефакторинга, который вы можете иметь.


  Сведения об ответе

FAriza

01:25, 16th August, 2020

PHPStorm из Jetbrains поддерживают рефакторинг, http://www.jetbrains.com/phpstorm/index.html

Рефакторинг переименования работает для файлов, функций, констант, классов, свойств, методов, параметров и локальных и глобальных переменных. Также доступны следующие рефакторинги:

  • Ввести Переменную
  • Ввести Константу
  • Ввести Поле
  • Встроенная переменная

и они также предлагают бесплатную лицензию на проект с открытым исходным кодом !


  Сведения об ответе

SEEYOU

02:37, 7th August, 2020

NetBeans IDE имеет некоторую возможность рефакторинга, но это не всегда работает. Однако я использую 6.1 с ранним доступом PHP. Я ожидаю, что 6.5 будет иметь лучшие возможности рефакторинга с PHP.


  Сведения об ответе

pumpa

20:06, 19th August, 2020

https://github.com/QafooLabs/php-refactoring-browser

PHP рефакторинг-браузер-это более поздний вариант рефакторинга, описанный в хорошей книге . Он может использовать некоторую помощь (пожалуйста, внесите свой вклад), но он поддерживает несколько общих рефакторингов.

На момент написания статьи браузер поддерживает:

  • Способ Извлечения
  • Переименовать Локальную Переменную
  • Преобразование локальной переменной в переменную экземпляра
  • Переименование классов и пространств имен
  • Оптимизировать использование отчетности (PHP-конкретные)

Есть плагин SublimeText, который действительно работает. Когда я смотрю на новый код, я применю некоторые из этих простых рефакторингов, чтобы помочь мне справиться с кодовой базой.


  Сведения об ответе

repe

14:31, 21st August, 2020

Лично я предпочитаю PHPEclipse IDE в качестве основного инструмента разработки. Но я действительно скучаю по базовому рефакторингу "replace everywhere in the project".

Но очень простая команда find / sed может легко решить эту проблему:

find . -type f -name "*Controller.php" -print0 \
         | xargs -0 sed -i 's/string1/string2/g'

Таким образом, используя это разумно, вы можете найти ссылки, переименовать, удалить и сделать любые манипуляции с исходным кодом.

BTW: вы даже не можете запомнить все эти параметры и атрибуты - просто введите его один раз, а затем вызовите его через reverse-i-search .

Надеюсь, это поможет.


  Сведения об ответе

dumai

06:59, 24th August, 2020

Zend Studio может немного Рефакторинговать.....


  Сведения об ответе

qwerty101

15:15, 3rd August, 2020

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

Я все еще предпочитаю делать большую часть рефакторинга вручную, потому что это заставляет меня замедляться и действительно думать о том, что я перемещаю и почему.


  Сведения об ответе

lool

23:54, 16th August, 2020

Тем не менее мой любимый инструмент рефакторинга-это good ol' EditPlus в сочетании с супер быстрым поиском файлов Total Commander. (Подсказка: Alt+F7)я полностью согласен с ответом Марка Биека, что вы хотите иметь полный контроль над тем, что заменяется, где и когда.

Всякий раз, когда мне нужно сделать некоторый рефакторинг, я создаю список в total commander файлов, которые я хочу изменить, либо путем поиска с помощью встроенной функции, либо просто выбрав их, а затем перетаскиваю их все в EditPlus

Editplus может искать замену & в текущем файле, выделении или во всех открытых файлах , используя обычное сопоставление текста, сопоставление regex или многострочное сопоставление. Это действительно дает вам полный контроль :)

Кроме того, для рефакторинга кода удобно использовать Macro Recorder EditPlus (Ctrl + Q для начала записи макроса 1-9 и Alt + 1-9 для воспроизведения макроса).

Как только вы освоитесь с этим, вы знаете, что можете просто искать переменную, ctrl + shift + (home || end || arrow keys) через свой код, удалять, копировать/вставлять и использовать все это волшебство клавиатуры, чтобы, например, преобразовать файл CSV в кучу запросов SQL в течение 30 секунд.


  Сведения об ответе

padenie

09:48, 19th August, 2020

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

http://blogs.embarcadero.com/joseleon/2010/06/09/delphi-for-php-next-release-early-preview-15-refactoring/


  Сведения об ответе

9090

20:30, 2nd August, 2020

Попробовать веб-IDE от IntelliJ. Сейчас он находится в стадии EAP (alpha/beta), но я использую его как единственный IDE в течение нескольких месяцев, поэтому он стабилен и очень хорош.


  Сведения об ответе

DAAA

13:09, 9th August, 2020

Нет никакой поддержки рефакторинга для PHP в Netbeans 6.5, хотя он появится в будущей версии.

Плагин PDT eclipse также не поддерживает рефакторинг.

Aptana также не поддерживает рефакторинг. Я тоже не мог заставить Гото дефиницию работать.

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


  Сведения об ответе

9090

06:30, 7th August, 2020

Я читал, что IDE Delphi для PHP будут иметь возможности рефакторинга в релизе под кодовым названием Крокодил, запланированном на начало 2009 года. Смотрите эту ссылку для получения подробной информации.


  Сведения об ответе

DO__IT

17:23, 28th August, 2020

PDT for Eclipse поддерживает некоторый базовый рефакторинг (о котором я знаю). Вы можете переименовывать классы и автоматически переименовывать их, когда на них ссылаются, и я думаю, что вы даже можете перемещать файлы и изменять их ссылки include/require.


  Сведения об ответе

SKY

12:26, 21st August, 2020

Насколько я знаю, единственный IDEs, который имеет какую-либо существенную поддержку рефакторинга для PHP, - это Zend Studio от создателей PHP и плагина Eclipse PHP. Хотя эти особенности очень просты. Ничто из того, что я знаю, не имеет особенностей таких продуктов, как Resharper для C# и т. д.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться