El formato de fichero phar está dispuesto literalmente como rutina_de_interoperabilidad/manifiesto/contenido/firma, y almacena la información crucial de lo que está incluido en el archivo phar en su manifiesto.
El manifiesto de phar es un formato altamente optimizado que permite especificaciones por fichero de compresión de ficheros, permisos de ficheros, e incluso metainformación definida por el usuario como el usuario o grupo del fichero. Todos los valores mayores que 1 byte son almacenados en el orden de byte little-endian, con la excepción de la versión de la API, que por motivos históricos es almacenada como 3 en el orden big-endian.
Todas las banderas sin utilizar están reservadas para un uso futuro, y no deben usarse para almacenar información personalizada.to store custom information. Use la característica de metainformación por fichero para alamacenar información personalizada sobre ficheros en particular.
El formato de fichero básico de un manifiesto Phar es como sigue:
Tamaño en bytes | Descripción |
---|---|
4 bytes | Longitud del manifiesto en bytes (límite 1 MB) |
4 bytes | Número de ficheros en el Phar |
2 bytes | Versión de la API del manifiesto de Phar (actualmente 1.0.0) |
4 bytes | Banderas mapeadas en bit globales de Phar |
4 bytes | Longitud del alisa del Phar |
?? | Alias del Phar (la longitud basada en lo anterior) |
4 bytes | Longitud de la metainformación del Phar (0 para ninguna) |
?? | Metainformación de Phar serializada, almacenada en el formato de serialize() |
al menos 24 * número de entradas bytes | entradas para cada fichero |