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
la une compression basée sur zlib et
Phar::BZ2
pour une compression basée sur bzip2.
extension
-
Ce paramètre est utilisée pour écraser l'extension par défaut d'une archive convertie.
A noter que toutes les archives phar basée 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.
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
}
?>