james at rezo dot net
Accueil du site > PHP > Mes outils de développements

Mes outils de développements

samedi 24 septembre 2016, par James

Toutes les versions de cet article : [English] [français]

Dans tous les projets PHP que je fais, reviennent à peu près toujours les mêmes besoins :

  • Faire des tests,
  • M’assurer que le code respectent certaines conventions et standards,
  • Vérifier que le code fonctionnera pour un maximum de version de PHP.

Pour ces besoins, je finis toujours par utiliser les mêmes outils et je me retrouve assez souvent avec la même configuration dans mes fichiers « composer.json » :

   "require-dev": {
       "phpunit/phpunit": "^4.8 || ^5.5",
       "squizlabs/php_codesniffer": "^2.7",
       "phpmd/phpmd": "^2.4",
       "theseer/phpdox": "^0.8 || ^0.9.0",
       "sebastian/phpcpd": "^2.0",
       "nikic/php-parser": "^1.3 || 3.*@beta",
       "phpbench/phpbench": "^0.10 || ^0.12.0",
       "phing/phing": "^2.15",
       "phploc/phploc": "^2.1 || ^3.0",
       "friendsofphp/php-cs-fixer": "^1.12",
       "sensiolabs/security-checker": "^4.0"
   }

Composer permet de spécifier différents types de composants, en particulier le type « metapackage » :

Un paquet vide contenant des dépendances et qui déclenchera leur installation, sans fichier supplémentaire ni écriture dans le système de fichier. À ce titre, il ne requiert ni d’entrée "dist" ou "source" pour être installable.

Je me suis donc fabriqué mon propre meta-paquets JamesRezo/QaTools qu’il suffira de définir comme dépendance dans les projets qui requièrent ces outils.

   "require-dev" : {
       "jamesrezo/qatools": "^1.0"
   }

Il existe beaucoup d’autres metapackage de ce genre, souvent mis en place pour le développement d’un framework, comme https://github.com/bearsunday/BEAR.... qui ne fonctionne qu’à partir de PHP5.6, https://github.com/lovullo/phpqatools qui installe les mêmes outils mais dans des versions assez anciennes, et surtout https://github.com/h4cc/phpqatools le premier metapackage que j’ai découvert et qui m’a servi de référence pour faire le mien.

SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0