Les outils de refactoring de code PHP
Existe-il des outils qui soutiennent la refactorisation de code PHP (renommage de variables, l'extraction de méthodes, de trouver la méthode de références, ...)? Merci.
- Je suppose que c'est vraiment difficile de disposer d'informations fiables refactoring dans une dynamique de la langue...
- Oui, il est, mais je crois que le vrai problème ici, c'est l'absence d'utilisation d'infrastructures de qualité (analyse syntaxique, analyse statique, transformation) pour l'élaboration d'un outil. Jusqu'à ce que les fondations sont solides, il y a à peine n'importe quel point dans la tentative de construire une maison.
- Les fondations de plus en plus forts. Voir stackoverflow.com/a/21400723/120163
- Fin de l'année 2017, j'ai regardé de travail sur les AST refactoring outil Recteur: github.com/RectorPHP
Vous devez vous connecter pour publier un commentaire.
Scisr est simple, autonome refactoring outil pour PHP.
Je sais que c'est une vieille question, mais puisque c'est l'une des meilleures procédures de PHP refactoring, j'ai pensé que je voudrais ajouter mon nouveau projet de la liste.
Beaucoup de mes objectifs de conception germé de les insuffisances des autres éléments mentionnés ici - ils sont liés à certaines IDEs, ou d'essayer de dicter vos pratiques en matière de dépistage, ou besoin d'un tas de rote travail manuel. Je suis l'espoir de créer une meilleure expérience dans Scisr. Il est simple à installer et à exécuter. Il essaie d'être intelligent, mais pas trop intelligent. Il effectue les tâches que j'ai trouvé pour se prêtent le mieux à l'automatisation. Profitez-en!
rephactor est une refactorisation automatique de l'outil. Il est encore un peu incomplète, mais il a un peu de base refactorings.
D'autre, une bonne suite de test est vraiment le meilleur outil de refactoring, vous pouvez avoir.
PHPStorm de Jetbrains soutien refactoring,
http://www.jetbrains.com/phpstorm/index.html
Le refactoring Renommer fonctionne pour les fichiers, des fonctions, des constantes, des classes, des propriétés, des méthodes, des paramètres et des variables locales et globales.
Aussi à la suite de refactorings sont disponibles:
et il offre une certaine licence gratuite open source du projet ainsi !
NetBeans IDE a quelques refontes des capacités, mais il n'a pas toujours l'air de fonctionner. Je suis cependant, l'utilisation 6.1 avec le début de l'PHP d'accès. J'attends de 6,5 à avoir de meilleures fonctionnalités de refactoring avec PHP.
https://github.com/QafooLabs/php-refactoring-browser
PHP Refactoring Browser est un plus récent sur le Refactoring Browser décrit dans le livre. Il pourrait utiliser un peu d'aide (merci de contribuer), mais il a le soutien de plusieurs communes des refactorings.
Comme de l'écriture, le navigateur prend en charge:
Il y a un SublimeText plugin qui fonctionne réellement. Quand je suis à la recherche d'un nouveau code, je vais appliquer certaines de ces simples refactorings pour m'aider à obtenir une poignée sur la base de code.
Personnellement, je préfère PHPEclipse IDE que mon principal outil de développement. Mais je manque vraiment de base "remplacer partout dans le projet" refactoring là.
Mais très simple trouver/sed commande peut résoudre ce problème facilement:
Donc, en utilisant cette intelligemment, vous pouvez trouver des références, renommer, supprimer et faire toute sorte de manipulations avec le code source.
BTW: vous peuvent même pas se souvenir de tous ces paramètres et les attributs, il suffit de taper une fois et ensuite l'appeler par inverse-je-recherche.
Espère que cette aide.
Peut-être que c'est juste parce que je suis toujours d'être à l'aise avec les concepts de refactoring, mais je n'aime pas avoir un outil de le faire pour moi.
Je préfère encore ne plus refactoring manuellement car elle m'oblige à ralentir et de vraiment réfléchir à ce que je suis en train de bouger et pourquoi.
L'une de mes préférées de refactoring de l'outil est bon ol' EditPlus en combinaison avec Total Commander's ultra-rapide de recherche de fichier. (Astuce: Alt+F7) je suis totalement d'accord avec Mark Biek la réponse que vous désirez avoir le plein contrôle sur ce qui est remplacée où et quand.
Chaque fois que j'ai à faire un peu de refactoring, j'ai créer une liste dans total commander des fichiers que je veux modifier par la recherche avec la fonction intégrée ou tout simplement en les sélectionnant, puis je les faire glisser tous à EditPlus
Editplus pouvez rechercher & remplacer par le fichier courant, d'une sélection ou d' tous les fichiers ouverts l'utilisation normale du texte correspondant, regex ou de correspondance de correspondance multi-ligne. - Il vraiment vous donne le plein contrôle 🙂
Aussi, ce qui est très pratique pour le code refactoring est EditPlus l'Enregistreur de Macro (Ctrl + Q pour démarrer l'enregistrement de la macro 1-9 et Alt + 1-9 à la lecture d'une macro).
Une fois que vous obtenez le coup de lui, vous savez que vous pouvez faire une recherche pour une variable, ctrl + maj + (à la maison || fin || touches fléchées) par le biais de votre code, de supprimer, de copier/coller et utiliser la al le clavier de magie comme, par exemple, convertir un fichier CSV en un tas de requêtes SQL dans un délai de 30 secondes.
Zend Studio peut Refactoriser un peu.....
Il n'y a pas de refactoring le support de PHP dans Netbeans 6.5, son entrée dans la future version.
PDT eclipse plugin ne prend pas en charge le refactoring.
Aptana ne prend pas en charge le refactoring soit. Je ne pouvais pas obtenir goto définition de travailler soit.
- Je consommer de recherche et de remplacement actuellement. Moi aussi, j'aimerais au moins renommer la fonction de soutien.
J'ai lu que l'IDE Delphi for PHP aura refactoring des capacités dans le communiqué le nom de code de Crocodile, qui est prévue pour début 2009. Voir ce lien pour plus de détails.
Essayer Web IDE à partir de l'Ide. C'est dans le cadre du PAE de la scène (alpha/bêta) maintenant, mais je l'utilise comme le seul IDE pour plusieurs mois, il est donc stable et très bon.
Vient de publier un article sur la prochaine version de Delphi for PHP où vous pouvez voir le refactoring moteur dans l'action.
http://blogs.embarcadero.com/joseleon/2010/06/09/delphi-for-php-next-release-early-preview-15-refactoring/
PDT pour Eclipse prend en charge certains de base refactoring (que je connais). Vous pouvez renommer les classes et les avoir renommés automatiquement quand ils sont référencés, et je pense que vous pouvez même déplacer des fichiers, et d'inclure ou d'exiger des références changé, aussi.
Autant que je sache, la seule IDEs qui a toute la refonte support de PHP sont Zend Studio par les créateurs de PHP et l'Eclipse PHP plugin. Si les fonctionnalités sont très simples. Rien de ce que je sais de a les caractéristiques des produits comme Resharper pour C# etc.