Phar::convertToExecutable
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::convertToExecutable — Convertir un archivo phar en otro formato de archivo phar ejecutable
Descripción
public Phar::convertToExecutable(
int $format
= 9021976,
int $compression
= 9021976,
string $extension
= ?):
Phar
Nota:
Este
método requiere que la opción de php.ini phar.readonly
esté establecida
a 0
para que trabaje con objetos Phar.
De otra manera, se lanzará una excepción de tipo PharException.
Este método se utiliza para convertir un archivo phar en otro formato de fichero. Por ejemplo,
se puede utilizar para crear un archivo phar ejecutable basado en tar desde un archivo phar ejecutable
basado en zip, o desde un archivo phar ejecutable en el formato de fichero phar.
Además, se puede utilizar para aplicar la compresión al archivo completo a un archivo basado en phar
o tar.
Si no se especifica ningún cambio, este método lanza una excepción de tipo BadMethodCallException
En caso de éxito, el metodo crea un nuevo archivo en disco y devuelve un objeto de la clase
PharData. El archivo antiguo no se elimina del disco, y debería hacerse manualmente después
de que el proceso haya finalizado.
Parámetros
format
-
Este parámetro debería ser Phar::PHAR
, Phar::TAR
,
o Phar::ZIP
. Si se establece a null
, se conservará el
formato de fichero existente.
compression
-
Este parámetro debería ser Phar::NONE
para no comprimir el archivo
completo, Phar::GZ
para la compresión basada en zlib, y
Phar::BZ2
para la compresión basada en bzip.
extension
-
Este parámetro se utiliza para sobrescribir la extensión de fichero predeterminada de un
archivo convertido. Observe que todos los archivos phar basados en zip o en tar deben contener
.phar
en su extensión de fichero para poder ser procesados como un
archivo phar.
Si se convierte a un archivo basado en phar, las extensiones predeterminadas son
.phar
, .phar.gz
, o .phar.bz2
dependiendo de la compresión especificada. Para archivos phar basados en tar, las
extensiones predeterminadas son .phar.tar
, .phar.tar.gz
,
y .phar.tar.bz2
. Para archivos phar basados en zip, la
estensión predeterminada es .phar.zip
.
Valores devueltos
El método devuelve un objeto Phar en caso de éxito, y lanza una
excepción en caso de error.
Ejemplos
Ejemplo #1 Un ejemplo de Phar::convertToExecutable()
Utilizar Phar::convertToExecutable():
<?php
try {
$tarphar = new Phar('miphar.phar.tar');
// convertirlo al formato de fichero phar
// observe que miphar.phar.tar *no* está desvinculado
$phar = $tarphar->convertToExecutable(Phar::PHAR); // crea miphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// crea miphar.phar.tgz
$comprimido = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// manejar el error aquí
}
?>