Les outils vraiment utiles pour les développeurs PHP

| Saud Khan (Auteur) | Joris Crozier (Traducteur) |

PHP est l'un des langages les plus largement utilisés pour créer des sites et des applications dynamiques.
Les Frameworks PHP comme Zend, CakePHP, CodeIgniter, etc., et les classes et les librairies PHP ont significativement simplifié nos vies.

Que vous soyez novice en PHP ou expert en développement : les outils que vous utilisez ont un impact direct sur votre productivité.
W3Avenue a compilé une liste d'outils et d'extensions vraiment utiles pour les développeurs PHP qui vont vous aider à accélérer vos développements et améliorer significativement la qualité complète de votre code.

L'article original.

Commentez

- Titre : Les outils vraiment utiles pour les développeurs PHP

- Auteurs : Saud Khan (Auteur), Joris Crozier (Traducteur)

- Parution : 30 septembre 2009

- Mise à jour : 10 décembre 2019

- Licence : Copyright ® 2009 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Les accélérateurs

- II. Systèmes de builds

- III. Code

- IV. Base de données

- V. Débogage

- VI. Développement

- VII. IDE et éditeurs

- VIII. Sécurité

- IX. Setup

- X. Tests

- XI. Intégration continue

- XII. Pense-bête

- XIII. Liens

I - Les accélérateurs

- eAccelerator
Accélérateur open source PHP gratuit, optimiseur, et cache de contenu dynamique. Il augmente les performances des scripts PHP en les mettant en cache dans leur état compilé, éliminant ainsi complètement le surcoût de la compilation. Il optimise aussi les scripts pour accélérer leur exécution. eAccelerator réduit significativement la charge serveur et augmente la vitesse de votre code PHP entre une et dix fois.

- ionCube PHP Accelerator
L'accélérateur PHP ionCube est une extension PHP du moteur Zend installable facilement qui fournit un cache PHP, et qui est capable de délivrer une accélération substantielle des scripts PHP sans demander aucun changement de scripts, perte de contenu dynamique, ou autres compromis applicatifs.

II - Systèmes de builds

- Phing
Un projet de système de build basé sur Apache Ant. Vous pouvez faire ce que vous voulez comme avec un système de build traditionnel comme GNU make, et son utilisation de fichiers de build simple en XML et de classes PHP extensibles de « taches » en fait un Framework de build facile à utiliser et extrêmement extensible. Les fonctionnalités incluent l'exécution de tests unitaires PHPUnit et SimpleTest, les transformations de fichiers, les opérations sur les fichiers système, le support de build interactif, l'exécution SQL, les opérations CVS/SVN, les outils pour créer des packages PEAR, et bien plus encore.

III - Code

- BeautifyPHP
BeautifyPHP est un service complètement gratuit qui permet aux visiteurs de correctement formater leur code PHP en accord avec les standards PEAR.

- PHP Beautifier
Ce programme reformate et embellit les fichiers de code source PHP4 et PHP5 automatiquement. Le programme est open source et distribué sous les termes de la licence PHP. Il est écrit en PHP5 et possède un outil en ligne de commande.

- PHP Object Generator (POG)
Un générateur de code source PHP open source qui génère automatiquement du code orienté objet propre et testé pour vos applications PHP4/PHP5. En générant des objets PHP avec des méthodes CRUD intégrées, POG vous donne une avance dans n'importe quel projet.

- UML2PHP5
UML2PHP5 est un plugin destiné à se greffer sur l'application de diagramme DIA. Il permet de générer automatiquement le squelette du code PHP des classes du diagramme. Le modèle objet de PHP5 se rapprochant de plus en plus de celui de java par exemple, il devenait urgent de fournir à la communauté un outil de design à la hauteur des outils disponibles pour d'autres langages.

- Instant SQL Formatter
Instant SQL Formatter est un outil en ligne gratuit d'embellissement SQL. En plus d'embellir le code SQL, il peut traduire le code SQL en code C#, Java, PHP, DELPHI et d'autres langages de programmation. Il permet aussi de trouver tous les objets des bases de données comme les tables, les colonnes, les fonctions SQL en sélectionnant un format de sortie pour lister les objets des bases de données.

- phpMyEdit
Générateur de code PHP et éditeur de table MySQL. Les fonctions importantes fournies par phpMyEdit sont : la génération du code de manipulation des tables, ajout, modification, visualisation, copie et suppression d'enregistrements, pagination, tri et filtre des tables, recherche dans d'autres tables (relations 1:N), configuration des permissions, multiples styles de navigation possibles, contrôle du design de la sortie par CSS, logging utilisateurs, support du multilinguisme, possibilité d'étendre les classes des bases.

- PHP Obfuscator
Encode et obfusque le code PHP afin de rendre le code de sortie difficile pour le « reverse engineering ». L'application ne requiert aucune prémodification sur votre code et pas de composants additionnels sur votre serveur. Le produit permet l'encodage des fonctions, des variables et la suppression des espaces.

- Code Eclipse
Un obfuscateur PHP qui transforme le code normal et facile à lire en charabia avec très peu, voire aucune perte de vitesse et de compatibilité.

IV - Base de données

- PHP Toolkit for ADO .NET Data Services
Permet aux développeurs PHP d'accéder aux services de données créés en utilisant le Framework ADO.NET data services. Le but est de fournir le même service que la bibliothèque .NET pour lire et modifier les données et ses relations en utilisant des URI qui pointent sur des morceaux de données intégrées dans le web.

- Propel
Propel est un Framework PHP5 d'ORM (Mapping d'objet relationnel). Il vous permet d'accéder à votre base de données en utilisant un jeu d'objets, en fournissant une API simple pour stocker et récupérer ses données.

- ADOdb
Une bibliothèque orientée objet écrite en PHP qui abstrait les relations à la base de données pour la portabilité. Elle est modelée sur la bibliothèque ADO de Microsoft, mais a beaucoup d'améliorations qui la rendent unique comme les tables, le support d'active records, la génération de code HTML pour la pagination de jeux de données avec les liens suivants/précédents, jeux de données en cache, la génération de menus HTML, etc.). Supporte un large nombre de bases de données incluant : MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP, and generic ODBC, ODBTP.

- Doctrine
Doctrine est un ORM (Mapping d'objet relationnel) pour PHP 5.2.3+ qui s'appuie sur l'une des plus hautes et puissantes couches d'abstraction de données (DBAL). Une de ses fonctions clefs est de pouvoir écrire des requêtes dans un dialecte orienté objet propriétaire appelé Doctrine Query Language (DQL) inspiré du HQL Hibernate. Il fournit aux développeurs une puissante alternative au SQL qui maintient la flexibilité sans avoir recours à de la duplication de code inutile.

V - Débogage

- Xdebug, Outil de débogage et de profilage
L'extension Xdebug vous aide à déboguer vos scripts en vous fournissant des informations sur vos variables. Les informations de débogage que fournit Xdebug comprennent : les traces de la pile et des fonctions de traçage dans les messages d'erreur, l'allocation mémoire et une protection contre les boucles infinies. Xdebug fournit aussi : des informations de profilage des scripts PHP, l'analyse de la couverture du code, la possibilité de déboguer interactivement vos scripts avec un client Xdebug. Vous devriez aussi regarder Webgrind Le profileur web PHP de Xdebug, MacGDBp l'application MacOS X qui débogue à distance les applications PHP contrôlées par Xdebug.

- FirePHP
FirePHP est une suite idéale pour le développement AJAX où les requêtes JSON et XML propres sont requises. FirePHP vous permet de tout logger dans votre console FireBug en utilisant un simple appel à une méthode PHP. Toutes les données sont envoyées dans les headers de réponse et n'interfèreront pas avec le contenu de vos pages.

- DBG Outils PHP de débogage et de profilage
DBG est un débogueur entièrement en PHP, un outil interactif qui vous aide à déboguer vos scripts. Il marche sur les serveurs de production et/ou de développement et vous permet de déboguer vos scripts localement ou à distance, depuis un éditeur ou une console.

- PHP Debug
Fournit de l'assistance dans le débogage de code PHP, par les traces, affichage des variables, le chronométrage des process, les fichiers inclus, les requêtes exécutées. Ces informations sont rassemblées pendant l'exécution du script et sont affichées à la fin du script (dans une belle div flottante ou une table HTML) pour qu'elles soient lues et utilisées à n'importe quel moment.

- Plus : Debuglib, Krumo

VI - Développement

- PHP CodeSniffer
PHP CodeSniffer est un script PHP5 qui segmente et « sniffe » le code PHP pour détecter les violations d'un standard de code défini. C'est un outil de développement essentiel qui assure la qualité de votre code. Il peut aussi aider à prévenir des erreurs sémantiques de code des développeurs.

- phpDocumentor
Similaire à Javadoc, écrit en PHP, phpDocumentor peut être utilisé depuis la ligne de commande ou via une interface web pour créer des documentations professionnelles à partir du code PHP. phpDocumentor contient un support pour la liaison à la documentation, incorporant des documents de niveau utilisateur comme les tutoriels la création de code source surligné avec des références croisées avec la documentation PHP.

- PHP Depend
PHP Depend est un analyseur d'application et un outil de métrique qui aspire à fournir plein d'informations subtiles à propos d'un projet PHP spécifique. PHP Depend peut générer un large choix de métriques applicatives depuis une base de code donnée, ces valeurs peuvent être utilisées pour mesurer la qualité d'un projet applicatif et aider à identifier les parties d'une application qui devraient être factorisées.

- phpLangEditor
Un plugin Firefox qui vous permettra de traduire aisément vos fichiers et variables de langue dans vos scripts PHP.

VII - IDE et éditeurs

- Aptana PHP Development Environment
Aptana PHP est l'IDE robuste, gratuit, open source pour PHP incluant tout ce dont vous avez besoin pour démarrer rapidement et aller encore plus vite dans le développement, test, amélioration, et déploiement de vos applications PHP. Depuis les serveurs PHP préinstallés, l'autocomplétion de code, les templates de code, la génération de code, le débogage, le refactoring, l'éditeur Smarty, les outils de base de données et bien plus, Aptana PHP vous donne de bout en bout les outils dont vous avez besoin pour PHP, plus tout ce qu'Aptana Studio a à offrir.

- PHPEclipse
PHPEclipse fonctionne sur toutes les plateformes majeures et possède les fonctionnalités suivantes : coloration syntaxique, correspondance des accolades/parenthèses, repliage de code, autocomplétion du code, intégration du manuel PHP, templates de code, le support de Xdebug, de DBG et de CVS et SVN++.

- Zend Studio
Un environnement de développement professionnel qui inclut l'édition de code PHP, débogage, profilage, tests unitaires, diagnostics et plus.

- PHPanywhere
Un environnement de développement web gratuit pour le PHP, en d'autres mots c'est une application qui donne aux développeurs toutes les possibilités d'édition de code dont ils ont besoin pour développer en ligne. Il possède un vérificateur de syntaxe en temps réel, incluant le support de tous les formats web et un puissant client FTP.

- VS.Php For Visual Studio
VS.php est un environnement de développement intégré basé sur Visual Studio 2008. Avec VS.php vous pouvez concevoir, développer, déboguer, et déployer vos applications PHP au sein de l'éditeur Visual Studio.

- Plus : NetBeans, PhpED, PHPEdit, phpDesigner, TextMate, Komodo IDE

VIII - Sécurité

- PHP Intrusion Detection System (PHPIDS)
Une couche de sécurité, simple à utiliser, bien structurée rapide et à l'état de l'art pour les applications basées sur PHP. L'IDS ni ne déshabille, ni n'assainit, ni ne filtre une saisie malveillante, il reconnaît simplement quand un attaquant essaye de casser votre site et réagit exactement comme vous le souhaitez. Actuellement PHPIDS détecte toute les sortes de XSS, injections SQL, injections des headers, traversée de répertoire, RFE/LFI, attaques DOS et LDAP. Basé sur un jeu de filtres approuvé et lourdement évalué, il juge et donne à n'importe quelle attaque une évaluation d'impact numérique qui facilite le choix de l'action à suivre après la tentative de piratage. Cela pourrait s'étendre de l'enregistrement simple à l'émission d'un mail de secours à l'équipe de développement, l'affichage d'un message d'alerte pour l'attaquant ou même la fin de la session de l'utilisateur.

- PhpSecInfo
PhpSecInfo fournit un équivalent de la fonction phpinfo() qui montre les informations de sécurité à propos de l'environnement PHP, et offre des suggestions d'amélioration. Ce n'est pas un remplaçant aux techniques sécurisées de développement et ne fait aucun audit de code ou d'application, mais il peut être un excellent outil dans une approche de sécurité multiniveau.

IX - Setup

- PHPConfig
Une application graphique pour le fichier php.ini de PHP, où toutes les configurations de PHP prennent place. Le résultat final est que vous pouvez passer plus de temps sur votre code que sur la configuration du php.ini. Il supporte toutes les fonctionnalités standard de PHP, et possède un onglet spécial pour tous les plugins tiers.

- Lighty2Go
Lighty2Go est un pack LightTPD, MySQL & PHP (LiMP) pour Windows. Prenez-le avec vous sur votre clef USB et faites-vous plaisir.

- PAMP
Pack personnel AMP : Apache, MySQL et PHP pour mobile basé sur s60.

- WampServer
Vous permet de configurer Apache, PHP et MySQL sur Windows. Il est aussi livré avec PHPMyAdmin pour gérer facilement vos bases de données. WampServer vous permet d'ajouter n'importe quelle version de Apache, PHP et MySQL.

- Server2Go
Un serveur web qui marche sans installation et sur des médias protégés en écriture. Cela veut dire que les applications web basées sur Server2Go peuvent être utilisées directement depuis un CD, une clef USB, ou n'importe quel répertoire sur le disque sans se donner la peine de configurer Apache, PHP et MySQL.

X - Tests

- PHPUnit
PHPUnit est un membre de la famille xUnit des Frameworks de test et fournit aussi bien un Framework qui permet l'écriture des tests facilement et l'exécution des fonctions de test que l'analyse de leurs résultats.

- SimpleTest
SimpleTest est similaire à JUnit/PHPUnit. Il supporte les faux objets et peut être utilisé pour automatiser les tests de régression d'une application web avec un client http scriptable qui peut parser les pages HTML et simuler des événements comme le clic sur des liens ou les soumissions de formulaires.

- vfsStream
vfsStream est un wrapper de flux pour un système de fichiers virtuels qui peut s'avérer utile dans les tests unitaires pour simuler le véritable système de fichiers. Il peut être utilisé avec n'importe quel Framework de tests comme PHPUnit ou SimpleTest.

XI - Intégration continue

- phpUnderControl
phpUnderControl est un addon pour l'intégration continue dans CruiseControl, qui intègre quelques-uns des meilleurs outils de développement PHP. Ce projet aspire à faire vos premiers pas avec CruiseControl et PHP aussi facilement que possible. De plus phpUnderControl vient avec un outil en ligne de commande qui produit toutes les modifications à une installation CruiseControl existante.

XII - Pense-bête

- PHP Cheat Sheet de AddedBytes
Ce pense-bête PHP est une page de référence, listant les arguments de formatage de date, les expressions régulières, et toutes les fonctions communes.

- PHP 5 Online Cheat Sheet
Couvre tous les types dans PHP ainsi que les méthodes de conversion, déclaration, manipulation, etc.

- The CheatSheet - CakePHP 1.2
Inclut une référence rapide sur les variables de configuration de Cake, les fonctions globales, les conventions, les chemins et le fichier index.php. Il inclut aussi des références aux propriétés, méthodes et fonctions de callback pour les modèles, les vues, les contrôleurs et les helpers.

- PHP $_SERVER Superglobal pour Apache & IIS
Une table des clefs définies dans les superglobales $_SERVER de PHP qui tourne sur les serveurs Apache et IIS. Le but de cette table est de permettre aux développeurs une plongée dans ce à quoi ils doivent s'attendre s’ils doivent migrer d'une plateforme à une autre.

- Smarty Cheat Sheet
Tous ceux qui sont encore intéressés par Smarty peuvent consulter ce pense-bête. Il contient quelques astuces et des références pour les designers de templates Smarty.

XIII - Liens

Lisez aussi « Les classes et librairies vraiment utiles pour les développeurs PHP ».
Vous pouvez aussi aller voir mes autres traductions.