Un conteneur Phar est un simple fichier PHP. Le conteneur minimal contient :
<?php __HALT_COMPILER();
Un conteneur doit contenir au moins le jeton __HALT_COMPILER();
en guise de conclusion. Typiquement, un conteneur comportera les fonctionnalités
de chargement suivantes :
<?php
Phar::mapPhar();
include 'phar://monphar.phar/index.php';
__HALT_COMPILER();
Il n'y a aucune restriction sur le contenu d'un conteneur Phar, si ce n'est le besoin d'être conclu
par __HALT_COMPILER();
. Le tag fermant PHP
peut être
inclus ou omis, mais il ne peut y avoir plus d'un espace entre le ?>
;
et le tag fermant
sans quoi l'extension phar ne sera pas capable de lire le
manifeste de l'archive.
?>
Dans une archive phar basée sur tar ou zip, le conteneur est stocké dans le fichier
.phar/stub.php
. Le conteneur par défaut des archives Phar basées sur
phar contient approximativement 7ko de code pour extraire le contenu du phar et l'exécuter.
Regardez la fonction Phar::createDefaultStub() pour davantage de détails.
L'alias phar est stocké, dans le cas d'une archive phar basée sur tar ou zip, dans le fichier
.phar/alias.txt
en tant que texte plein.