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.