RootsLabs

More than a tool ! GitHub Google+ LinkedIn RSS

Automatiser vos tâches sur un projet PHP avec Phing

Progi1984 - Commentaires (2)

Comme nous l’avons vu précédemment, il est possible d’assurer la qualité de votre projet PHP via Travis-CI. Mais comment faire en local sans Internet ? Phing est la solution pour lancer des tâches en local.

Phing

Installation de Phing

On ajoute le channel PEAR de Phing :

On ajoute différents channels pour PEAR :

A ce moment-là, on installe Phing via PEAR :

On installe nos outils de QA (PHP_CodeBrowser, PHP_CodeSniffer, PHP_CPD, PHPDoc, PHPLoc, PHP_MD) :

Mise en place

Pour gérer les tâches avec Phing, il faut créer un fichier build.xml (dans mon cas, à la racine du projet).

Ce fichier contiendra une variable builddir qui sera le dossier où seront crées les fichiers de log, docs, etc…
On crée ensuite la cible principale qa On peut appeler une cible de cette manière :

La cible principale qa appelle d’autres cibles :

  • qa-clean : Supprime le dossier de build
  • qa-prepare : Crée les dossiers de build et les sous dossiers
  • phpcs : Lance PHP CodeSniffer avec les deux checkstyles PSR1 et PSR2
  • phpcpd : Lance PHP copy/paste pour vérifier l’existence de parties dupliquées
  • phpmd : Lance PHP Mess Detector pour éliminer de potentiels erreurs
  • phploc : Lance PHPLOC pour faire des mesures du projet
  • pdepend : Lance PDepend pour faire d’autres mesures sur le code du projet
  • phpdoc : Lance PHPDoc pour générer une documentation propre du projet
  • phpcb : Lance PHP Code Browser pour réunir en une seule interface web les différents logs

Voici le fichier de référence :

Conclusion

Et voilà, vous pouvez dorénavant lancer une analyse qualité de votre code directement depuis de votre machine via Phing. Vous pouvez ajouter d’autres cibles pour gérer de nombreuses choses : checkout d’un SVN ou GIT, copie de fichier, déploiement FTP, requêtage de base de données, requêtage HTTP, ZIP/TAR et décompression d’archives. Phing est puissant et vous pouvez même créer vos propres plugins Phing.

Lien : Doc Phing

Commentaires

1. RootsLabs » Phing : Fournir une archive PHAR pour votre librairie, le 9 décembre 2013 à 10:33

[…] nous l’avons vu dans cet article sur Phing, c’est un outil qui permet d’automatise de nombreuses tâches. Dans cet article, nous […]

2. RootsLabs » Optimiser ses fichiers statiques, le 6 juin 2018 à 14:04

[…] Vos fichiers statiques sont, avec votre code PHP, les fichiers à optimiser. Dans un prochain article, nous verrons comment utiliser Phing pour automatiser ces optimisations comme nous l’avons fait pour tester la qualité d’un projet. […]

Ajouter un commentaire

Commentaire :