Phar::convertToExecutable
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::convertToExecutable â Convertit une archive phar vers un autre format de fichier d'archive phar exĂ©cutable
Description
Note: Cette
méthode nécessite que la variable de configuration INI phar.readonly
soit définie à 0 pour fonctionner avec les objets Phar.
Sinon, une exception PharException sera lançée.
Cette méthode est utilisée pour convertir une archive phar vers un autre format de fichier. Par exemple,
elle peut ĂȘtre utilisĂ©e pour crĂ©er une archive phar basĂ©e sur tar en partant d'une archive phar basĂ©e sur zip
ou à partir d'une archive phar exécutable basée sur le format de fichier phar. De plus, elle peut aussi
ĂȘtre utilisĂ©e pour appliquer une compression globale Ă une archive basĂ©e sur tar ou sur phar.
Si aucun changement n'est précisé, cette méthode lÚve une exception BadMethodCallException.
En cas de succÚs, la méthode crée une nouvelle archive sur le disque et retourne un objet Phar.
L'ancienne archive n'est pas supprimĂ©e du disque, ce qui devrait ĂȘtre fait manuellement Ă la fin du procĂ©dĂ©.
Liste de paramĂštres
format
-
Ce doit ĂȘtre l'un des formats Phar::PHAR, Phar::TAR,
ou Phar::ZIP. Si ce paramĂštre est null, le format de fichier actuel sera
conservé.
compression
-
Ce doit ĂȘtre Phar::NONE pour aucune compression globale,
Phar::GZ pour une compression basée sur zlib et
Phar::BZ2 pour une compression basée sur bzip2.
extension
-
Ce paramÚtre est utilisé pour écraser l'extension par défaut d'une archive convertie.
à noter que toutes les archives phar basées sur zip ou sur tar doivent comporter
.phar dans leur extension pour ĂȘtre traitĂ©es comme une archive phar.
Si on convertit vers une archive basée sur phar, les extensions par défaut sont
.phar, .phar.gz, ou .phar.bz2
selon la compression spécifiée. Pour les archives phar basées sur tar, les extensions
par défaut sont .phar.tar, .phar.tar.gz,
et .phar.tar.bz2. Pour les archives phar basées sur zip, l'extension par
défaut est .phar.zip.
Valeurs de retour
La méthode retourne un objet Phar en cas de succÚs,
ou null en cas d'échec.
Erreurs / Exceptions
Cette méthode lÚve une exception BadMethodCallException si elle n'est pas
capable de compresser, si une méthode de compression inconnue a été spécifiée ou si l'archive demandée
a Ă©tĂ© mise en tampon avec Phar::startBuffering() sans ĂȘtre conclue avec
Phar::stopBuffering(), lĂšve une exception UnexpectedValueException
si le support en écriture a été désactivé et lÚve une exception PharException si
un quelconque problÚme a été rencontré pendant la phase de création de l'archive.
Exemples
Exemple #1 Un exemple avec Phar::convertToExecutable()
Utilisons Phar::convertToExecutable() :
<?php
try {
$tarphar = new Phar('monphar.phar.tar');
// on le convertit vers le format de fichier phar
// notez bien que monphar.phar.tar n'est *pas* effacé
$phar = $tarphar->convertToExecutable(Phar::PHAR); // crée monphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// crée monphar.phar.tgz
$compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// on traite les erreurs ici
}
?>