# PharData::convertToExecutable

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::convertToExecutable — Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable

### Descripción

PharData::convertToExecutable(int `$format` = ?, int `$compression` = ?, 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 arhivo tar o zip no ejecutable en un archivo phar ejecutable. Se puede usar cualquiera de los tres formatos de fichero (phar, tar o zip), y también se puede realizar la compresión del archivo completo.

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. If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

### 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.

### Errores/Excepciones

Este método lanza una excepción de tipo BadMethodCallException cuando no se puede comprimir, se ha especificado un método de compresión desconocido, el archivo solicitado está almacenado en buffer con Phar::startBuffering() y no se ha cerrado con Phar::stopBuffering(), una excepción de tipo UnexpectedValueException si el soporte para escritura está deshabilitado, y una excepción de tipo PharException si se encontró algún problema durante el proceso de la creación de phar.

### Ejemplos

Ejemplo #1 Un ejemplo de PharData::convertToExecutable()

Utilizar PharData::convertToExecutable():

`<?php
try {
$tarphar = new PharData('miphar.tar');
// convertirlo al formato de fichero phar
// observe que miphar.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 = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// manejar el error aquí
}
?>`

### Ver también

- Phar::convertToExecutable() - Convertir un archivo phar en otro formato de archivo phar ejecutable
- Phar::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable
- PharData::convertToData() - Convertir un archivo phar en un fichero tar o zip no ejecutable