- Exemple :
$phar = new Phar('monarchive.phar');
$phar->startBuffering();
$phar->addFile('fichier1.php');
$phar->addFile('fichier2.php');
$phar->setStub('<?php __HALT_COMPILER(); include "phar://monarchive.phar/fichier1.php";');
$phar->stopBuffering();
startBuffering() : Permet de modifier l’archive avant de l’écrire.
addFile() : Ajoute un fichier à l’archive.
setStub() : Définit le code qui sera exécuté quand on lance le PHAR.
- Le stub est un script php placé au début d'un PHAR qui s’exécute quand on lance le PHAR depuis la ligne de commande,
exemple :
$phar->setStub('#!/usr/bin/env php
<?php
Phar::mapPhar("monarchive.phar");
include "phar://monarchive.phar/fichier1.php";
__HALT_COMPILER();
');
- Utilisationn d'une archive PHAR :
- Signer l’archive pour éviter les modifications malveillantes :
$phar->setSignatureAlgorithm(Phar::SHA1);