PHP Phar

Tags:: php :: développement

Bon pendant qu'on y est, je vais vous présenter un truc pas nouveau mais dont j'ai quand même envie de parler: Phar ! C'est un peu comme un "jar", ça rend service et en plus ça marche !

Avant de vous montrer un exemple, laissez moi juste vous expliquer ce qu'est une archive phar. C'est un paquet, une archive qui contient des fichiers. Elle contient des sources php, un manifest et quelques options comme un fichier de "stub"... on ne va pas se pencher là dessus... on va faire simple.

Si vous avez installé php-cli supérieur à la version 5.2.0 vous devez avoir l'utilitaire "phar". Reste donc à faire un petit test.


cd /tmp
mkdir -p phartest/src
cd phartest/src
 

Dans ce répertoire vous créez un fichier "function.php":


<?php
function test(){
    echo "test\n";
}
 

Puis un fichier "index.php" (qui sera en fait le script appelé par défaut):


<?php
include 'function.php';
test();
echo "done\n";
 

Voilà... bon on crée maintenant l'archive:


cd ..
phar pack -f test.phar src/
 

Cela crée donc un fichier "test.phar"... que va-t-on en faire ? et bien c'est simple: l'exécuter !

Et oui...


php test.phar
test
done
 

Cool hein ? on peut donc empaqueter une application complète dans une archive. Plus la peine de se prendre la tête à chercher où déposer des fichiers...

Alors en fait, pour les inclusions etc... faites attention à nos fameux "./" ou "../" qui ont tendance à ne pas bien marcher... utilisez plutôt des chemins absolus en utilisant le meta "phar:/" genre: "phar:/monarchive.phar/rep/script.php".

Sachez aussi que les archives phar peuvent être ouvertes depuis php, en ligne de commande comme sur une application web. Je vois d'ici les CMS, CMF et framework qui sont en train de faire des modules en .phar plutôt que de zipper et demander à l'utilisateur de décompresser une archive dans un répertoire... haaaa que c'est beau le progrès :)

Sinon, allez voir la doc ici.

Utilisez le code barre pour ouvrir le ticket dans votre mobile:
This ticket on you mobile
1 Mercredi 15 Décembre 2010 15:09:11, Laurent Sarrazin

Ouais sauf que si tu appelles ton fichier func et que tu essaies d'inclure function, ça marche pas... je chipote

2 Mercredi 15 Décembre 2010 23:57:51, Metal3d

Raaaaa ok je corrige :)

Ajouter un commentaire
Veuillez répondre à la question suivante : Indiquez en chiffre ce que vaut deux et deux

Trackbacks

Pour ajouter un trackback (retrolien) sur ce ticket, utilisez cette adresse: http://www.metal3d.org/index.php/trackback/default/tb?id=blog%2F270

Tags

Blog Copix Communication PC Config Fedora Vidéo Humour Autre Web Materiel Informatique PHP Développement Mootools HTML Linux WEB IE CSS Vista Microsoft Sympa XHTML Quizz Widget Klik CWE Voeux Bonne année Musique CCRMA Son Audio MAO Reconnaissance vocale Windows Mac Compiz MacOS Mysql Sun Base de données BD Screenlets Screenlet RPM compiz Ubuntu Live FireFox Derambarsh Facebook media informations Sécurité javascript SSH Commande Marketing concours ipod wii QT Trooltech Nokia Libre Logiciels GPL Attali Gnome Dock Compiler Bench undelete reiserfs recovery recover Thread Serveur Optimisation Server Apache Album RSS Flash Air XML Firefox Blender Opensource Orange Internet LiveBox Animaux Droits Logiciels Libres Google Loi RBS netcat Bash Téléphone Spam 3D NIDIA Standards Widgets Merise UML Streaming Developpement Perl MySQL Firewall Parfeu Bayes Novell Réseau Python LVS Salon FTP Dedibox Chrome Administration IRC Gentoo troll video Nouveauté Finance Etudiant spéctacle OpenOffice Javascript Java Info Eclpise ATI design mootools KDE Bureau Design GNU C Pages Jaunes Fun Bijoux Art mail Admin vmware fedora linux VirtualBox VMWare Qemu KVM vim Grep Fglrx Webkit GTK google web JQuery Coup de gueule coup de gueule Lois SVG Raycaster Canvas Hadopi Desktop Jeux Les Sims développement astuces Screen firefox Mobile Safaru Wine bash commande astuce Wave ooc C++ C# Netbook Hercules Bureautique Twitter Safari W3C chrome kazehakaze midori navigateur gecko webkit Links Liens Pyhon Nouvelles Metal Perso Conférence JDLL PCC Roadsend OOC News Acteur Cinéma Chanteur Seven windows orthographe pcc php jdll Slide Application mysql Html twitter python screen curses SVN Android Gphone iPhone OpenGL MindMap Projet Javascrtip Ajax Guitare Tab Tablature JSON firebug Chromium Iphone Titanium music sound android ogg ogv streaming Arkyne svn subversion gnome VLC Tv encoder ffmpeg Cryptage apple microsoft HTML5 Max Apple code youtube quvi git uzbl webgl chromium

  Catalogue professionnel de musique libre


  • twitter entries...
follow me on Twitter

Valid XHTML 1.0 Strict

tumblr visitor