Phar::convertToExecutable
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::convertToExecutable — Convierte un archivo phar a otro formato de archivo de archivo phar ejecutable
Descripción
Nota:
Este
método requiere que la variable de configuración INI phar.readonly
esté definida a 0
para funcionar con los objetos Phar.
De lo contrario, se lanzará una excepción PharException.
Este método se utiliza para convertir un archivo phar a otro formato de archivo. Por ejemplo,
puede ser utilizado para crear un archivo phar basado en tar a partir de un archivo phar basado en zip
o a partir de un archivo phar ejecutable basado en el formato de archivo phar. Asimismo,
puede ser utilizado para aplicar una compresión global a un archivo basado en tar o en phar.
Si no se especifica ningún cambio, este método lanza una excepción BadMethodCallException.
En caso de éxito, el método crea un nuevo archivo en el disco y devuelve un objeto Phar.
El archivo antiguo no es eliminado del disco, lo cual debe hacerse manualmente al final del procedimiento.
Parámetros
format
-
Debe ser uno de los formatos Phar::PHAR
, Phar::TAR
,
o Phar::ZIP
. Si este argumento es null
, el formato de archivo actual será
conservado.
compression
-
Debe ser Phar::NONE
para ninguna compresión global,
Phar::GZ
para una compresión basada en zlib y
Phar::BZ2
para una compresión basada en bzip2.
extension
-
Este argumento se utiliza para sobrescribir la extensión por defecto de un archivo convertido.
Cabe señalar que todos los archivos phar basados en zip o en tar deben contener
.phar
en su extensión para ser tratados como un archivo phar.
Si se convierte a un archivo basado en phar, las extensiones por defecto son
.phar
, .phar.gz
, o .phar.bz2
según la compresión especificada. Para los archivos phar basados en tar, las extensiones
por defecto son .phar.tar
, .phar.tar.gz
,
y .phar.tar.bz2
. Para los archivos phar basados en zip, la extensión por
defecto es .phar.zip
.
Valores devueltos
El método devuelve un objeto Phar en caso de éxito,
o null
en caso de fallo.
Ejemplos
Ejemplo #1 Un ejemplo con Phar::convertToExecutable()
Utilicemos Phar::convertToExecutable() :
<?php
try {
$tarphar = new Phar('monphar.phar.tar');
// se convierte al formato de archivo phar
// note que monphar.phar.tar *no* es borrado
$phar = $tarphar->convertToExecutable(Phar::PHAR); // crea monphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// crea monphar.phar.tgz
$compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// se manejan los errores aquí
}
?>