Vous connaissez sûrement déjà Phing, mais l’utilisez vous correctement ?
Bien utiliser Phing, c’est :
- respecter une bonne organisation (regroupement des
targets
par catégorie), - utiliser la
default target
pour afficher l’aide, - nommer chaque
target
en précisant le groupe.
Architecture
Voici l’architecture type que l’on peut trouver sur un projet :
~/your-project/
build.xml
phing
composer.xml
phpunit.xml
etc.
Le fichier build.xml
contiendra l’aide comme target
par défaut et importera les autres fichiers :
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project default="help">
<import file="phing/composer.xml" />
<import file="phing/phpunit.xml" />
<target name="help">
<echo>Help !</echo>
</target>
</project>
Chaque fichier regroupe un ensemble de targets
. Remarquez le nommage <group>.<name>
par exemple sur :
phing/composer.xml
<?xml version="1.0" encoding="UTF-8"?>
<project>
<target name="composer.install">
<exec command="php composer.phar install" passthru="true" />
</target>
</project>
Pour aller plus loin
Une fois qu’on aime Phing et qu’on en mange tout les jours, on a presque envie de tout installer avec.
Sauf que le principal problème est : comment installer Composer avec Phing tout en sachant qu’on récupère Phing via un paquet Composer ?
Réponse : en utilisant Phing Launcher !