Как зайти в Даркнет?!
25th January, 01:11
8
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
901
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
952
0
Очень долго работает Update запрос Oracle
27th January, 09:58
916
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
907
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
942
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1727
0
период по дням
25th October, 10:44
3957
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3722
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4614
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4382
0
Помогите пожалуйста решить задачи
24th November, 23:53
6089
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4352
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4401
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Инструменты для рефакторинга кода PHP
Существуют ли какие-либо инструменты, поддерживающие рефакторинг кода PHP (переименование переменных, извлечение методов, поиск ссылок на методы,...)? Спасибо.
Scisr -это простой автономный инструмент рефакторинга для PHP.
Я знаю, что это старый вопрос, но поскольку это один из лучших рундуков инструментов рефакторинга PHP, я решил добавить свой новый проект в список.
Многие из моих целей дизайна возникли из - за неадекватности других элементов, упомянутых здесь-они связаны с определенными IDEs, или пытаются диктовать ваши методы тестирования, или требуют целого набора механического ручного труда. Я надеюсь создать в целом лучший опыт работы в Scisr. Он прост в установке и запуске. Он пытается быть умным, но не слишком умным. Он выполняет задачи, которые, как я обнаружил, лучше всего поддаются автоматизации. Наслаждайтесь!
PHPStorm из Jetbrains поддерживают рефакторинг, http://www.jetbrains.com/phpstorm/index.html
Рефакторинг переименования работает для файлов, функций, констант, классов, свойств, методов, параметров и локальных и глобальных переменных. Также доступны следующие рефакторинги:
- Ввести Переменную
- Ввести Константу
- Ввести Поле
- Встроенная переменная
и они также предлагают бесплатную лицензию на проект с открытым исходным кодом !
https://github.com/QafooLabs/php-refactoring-browser
PHP рефакторинг-браузер-это более поздний вариант рефакторинга, описанный в хорошей книге . Он может использовать некоторую помощь (пожалуйста, внесите свой вклад), но он поддерживает несколько общих рефакторингов.
На момент написания статьи браузер поддерживает:
- Способ Извлечения
- Переименовать Локальную Переменную
- Преобразование локальной переменной в переменную экземпляра
- Переименование классов и пространств имен
- Оптимизировать использование отчетности (PHP-конкретные)
Есть плагин SublimeText, который действительно работает. Когда я смотрю на новый код, я применю некоторые из этих простых рефакторингов, чтобы помочь мне справиться с кодовой базой.
Лично я предпочитаю 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 .
Надеюсь, это поможет.
Может быть, это просто потому, что я все еще чувствую себя комфортно с концепциями рефакторинга, но мне не нравится, когда инструмент делает это за меня.
Я все еще предпочитаю делать большую часть рефакторинга вручную, потому что это заставляет меня замедляться и действительно думать о том, что я перемещаю и почему.
Тем не менее мой любимый инструмент рефакторинга-это 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 секунд.
Нет никакой поддержки рефакторинга для PHP в Netbeans 6.5, хотя он появится в будущей версии.
Плагин PDT eclipse также не поддерживает рефакторинг.
Aptana также не поддерживает рефакторинг. Я тоже не мог заставить Гото дефиницию работать.
Я в конечном итоге использую поиск и замену в настоящее время. Я тоже хотел бы хотя бы переименовать поддержку функций.
Я читал, что IDE Delphi для PHP будут иметь возможности рефакторинга в релизе под кодовым названием Крокодил, запланированном на начало 2009 года. Смотрите эту ссылку для получения подробной информации.
Насколько я знаю, единственный IDEs, который имеет какую-либо существенную поддержку рефакторинга для PHP, - это Zend Studio от создателей PHP и плагина Eclipse PHP. Хотя эти особенности очень просты. Ничто из того, что я знаю, не имеет особенностей таких продуктов, как Resharper для C# и т. д.