Blog de Gonzalo

CREAR Y EJECUTAR FICHEROS PHAR EN PHP

Hace un tiempo hablé sobre los ficheros phar en php y hoy quiero hablaros de crear y ejecutar ficheros phar en php. Antes de meterse con el código hay que comprobar la configuración del fichero php.ini y poner la directiva phar.readonly = On y reiniciar el servidor. Una vez realizado este cambio ya podemos ponernos con el código:


$srcRoot = 'ruta/donde/esta/el/codigo/para/crear/el/phar';
$buildRoot = 'ruta/donde/crear/phar';

$phar = new Phar($buildRoot . '/nombreFichero.phar',
  FilesystemIterator::CURRENT_AS_FILEINFO |       FilesystemIterator::KEY_AS_FILENAME, 'nombreFichero.phar');
//el indice del array es el alias del fichero dentro del phar
$phar["ficheroAIncluirEnPHAR.php"] = file_get_contents($srcRoot . '/ficheroAIncluirEnPHAR.php');

$phar->setStub($phar->createDefaultStub('ficheroAIncluirEnPHAR.php'));

Este es un ejemplo sencillo pero se puede hacer con un directorio y varios ficheros.
Cuando se añaden varias clases a un fichero phar se puede instanciar a una de esas clases de la siguiente manera:

include 'phar://ruta_fichero_phar/nombreAliasFichero.php';

En mi página de github hay una clase para gestionar ficheros phar.

Compartir en twitter