Publié par Philippe VINCENT-ROYOL, le 12/07/2011 11:00 dans phing, php | 0 commentaires
Phing est un outil php, inspiré d'Apache Ant, visant à nous aider dans l'exécution de certaines tâches répétitives tout au long d'un cycle de vie de vos projets (construction de release, génération de doc, génération de rapport de tests unitaires, etc.)
Nous allons nous intéresser à l'installation, configuration et utilisation de Phing. Ceux voulant s'initier à Apache Ant, je vous conseille la documentation officielle que vous trouverez ici.
Et oui Phing ne peut être utilisé n'importe comment. Voiçi les prérequis nécessaire:
La méthode la plus simple est une installation via pear avec les commandes suivantes:
pear channel-discover pear.phing.info pear install phing/phing
Pour mettre à jour
pear upgrade phing/phingLa dernière version actuelle est la 2.4.5. Vous pouvez la télécharger ici : http://www.phing.info/get/phing-2.4.5.tgz
A noter que votre php.ini doit avoir un memory_limit = 32M minimum !
Modifier si nécessaire les deux premières lignes suivantes :
export PHP_COMMAND=/usr/bin/php export PHING_HOME=/opt/phing export PHP_CLASSPATH=${PHING_HOME}/classes export PATH=${PATH}:${PHING_HOME}/bin
Idem pour windows :
set PHP_COMMAND=c:\opt\php\php.exe set PHING_HOME=c:\opt\phing set PHP_CLASSPATH=c:\opt\phing\classes set PATH=%PATH%;%PHING_HOME%\bin
Vous allez me dire, à quoi sert cette bête là ? Tout simplement à dire à Phing comment générer votre paquet de release par exemple. Regardez l'exemple suivant :
<?xml version="1.0" encoding="UTF-8"?> <project name="FooBar" default="dist"> <!-- ============================================ --> <!-- Target: prepare --> <!-- ============================================ --> <target name="prepare"> <echo msg="Création du dossier ./build" /> <mkdir dir="./build" /> </target> <!-- ============================================ --> <!-- Target: build --> <!-- ============================================ --> <target name="build" depends="prepare"> <echo msg="Copie des fichiers vers le dossier build..." /> <echo msg="Copie du fichier ./about.php vers le dossier ./build ..." /> <copy file="./about.php" tofile="./build/about.php" /> <echo msg="Copie du fichier ./browsers.php vers le dossier ./build ..." /> <copy file="./browsers.php" tofile="./build/browsers.php" /> <echo msg="Copie du fichier ./contact.php vers le dossier ./build ..." /> <copy file="./contact.php" tofile="./build/contact.php" /> </target> <!-- ============================================ --> <!-- (DEFAULT) Target: dist --> <!-- ============================================ --> <target name="dist" depends="build"> <echo msg="Création de l'archive..." /> <tar destfile="./build/build.tar.gz" compression="gzip"> <fileset dir="./build"> <include name="*" /> </fileset> </tar> <echo msg="Les fichiers sont copiés et compressés dans le répertoire build!" /> </target> </project>
Il faudra bien entendu avoir créer les fichiers about.php, browsers.php et contact.php dans le même dossier que le build.xml. Rien de très compliqué dans le fichier xml :)
Pour lancer l'éxécution il suffit de taper :
phing
Je vous laisse lire la doc en anglais sur les possibilités qu'offre Phing (target, task, types, etc) ici. Et aussi un exemple bien poussé pour mettre à jour un projet via svn / ftp directement avec Phing ici.
Bonjour et bienvenue sur le Blog ! Vous atterissez sur une nouvelle version porté par le html5 et css3. Malheureusement pour les utilisateurs d'IE des bugs peuvent encore arriver. Mais n'hésitez pas à me les remonter par mail.
Très bonne visite et à bientôt !
Pas de nouveaux tweets...
Commentaires