introducción a los archivos phar en php
Post on 26-Jul-2015
101 Views
Preview:
TRANSCRIPT
¿Sobre qué estaremos hablando?
Creación de un archivo Phar
1
Stub de un archivo Phar
2
Agregar ficheros al archivo Phar
3
Integrar el archivo Phar a tu aplicación
4
5
¿Qué son los archivos Phar?
JAR PHAR
java
similar
Empaqueta toda una aplicación en un solo archivo.
aplicación
¿Qué son los archivos Phar?
PHAR
PHP_Archive repositorio PEAR
inicialmente
agregado
2005
extremadamente
lento
C Extensión
2007
Evolución…
reescrito completamente
Para poder crear archivos Phar se debe desactivar
la opción phar.readonly en el php.ini
¿Qué necesito para comenzar?
Creación de un archivo Phar
- El primer parámetro del constructor es la ruta donde el archivo Phar será salvado.
- El segundo parámetro es asociado al iterador recursivo sobre el directorio
(normalmente es 0).
- El tercer parámetro es el alias por el cual el archivo Phar es referenciado.
Similar a las transacciones en BD relacionales
Creación de un archivo Phar
- Se puede cambiar el formato de almacenamiento de los archivos Phar a Zip o Tar.
- La principal ventaja de esto es la habilidad para inspeccionar el contenido del
archivo con cualquier herramienta que permita trabajar con ficheros Zip o Tar.
- La desventaja de esto resulta en la obligación de tener activa la extensión para
cargar los archivos, cosa que no sucede con el formato de almacenamiento nativo.
Stub del archivo Phar
El stub no es más que un pequeño fragmento código que corre
inicialmente cuando el archivo Phar es cargado, y siempre finaliza
con un token __HALT_COMPILER().
- El método Phar::mapPhar() se llama para inicializar el Phar cuando este es
ejecutado directamente o cuando es incluido en otro script.
- Para agregar o reemplazar el stub en un archivo Phar se puede utilizar el método
Phar::setStub().
Stub del archivo Phar
- Si solo se necesita pasar el nombre del archivo a incluir en el stub se
puede utilizar el método Phar::createDefaultStub().
Agregar ficheros al archivo Phar
El objeto Phar utiliza el objeto ArrayAccess de SPL1, lo que permite
acceder al contenido del archivo como un arreglo.
1. SPL: Colección de interfaces y clases que están pensadas para solucionar
problemas comunes.
- El nombre del archivo se pasa como key y el contenido como value.
key value
Agregar ficheros al archivo Phar
Si el fichero que se está almacenando en el archivo Phar es muy grande, se
puede comprimir usando gzip o bzip2. Esto se logra mediante los métodos
PharFileInfo::setCompressedGZ() o PharFileInfo::setCompressedBZIP2().
Agregar ficheros al archivo Phar
Para no tener que agregar fichero por fichero se puede utilizar el método
Phar::buildFromDirectory , el cual permite recorrer un directorio específico y
agregar los archivos que contenga.
- El primer parámetro es el directorio desde donde se cargarán los ficheros.
- El segundo parámetro es una expresión regular que permite filtrar los ficheros
que se agregan.
Integrar el archivo Phar a tu app
La forma más fácil de integrar código de un archivo Phar es incluyendo todo
el archivo, aunque también se puede acceder a un fichero dentro del Phar
cargado mediante la envoltura de flujo php://
- El primer include cargará el archivo miphar.phar, incluyendo el código
especificado en el stub.
- El segundo include usa la envoltura de flujo para abrir el archivo Phar y solo
incluir un fichero contenido en dicho archivo (file.php).
Consideraciones finales
Los archivos Phar proveen la habilidad de empaquetar código PHP, lo que
resulta muy útil para distribuir una aplicación o biblioteca en un solo archivo.
El archivo Phar puede ser cargado fácilmente desde un archivo PHP usando
las funciones require o include.
Estos archivos además pueden ser ejecutados directamente desde el
navegador o la línea de comandos.
top related