L3 Info : PHP et Applications Web
 
◃  Ch. 8 Gestion de projet Web  ▹
 

PHAR : création, utilisation

  • 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 :
    • depuis la ligne de commande :
      php monarchive.phar
    • depuis un script PHP :
      include 'phar://monarchive.phar/fichier1.php';
  • Signer l’archive pour éviter les modifications malveillantes :
    $phar->setSignatureAlgorithm(Phar::SHA1);