phar 檔案格式的佈局實際上是 stub/manifest/contents/signature,並將 phar 封存中包含的關鍵資訊儲存在其 manifest
中。
Phar 清單 (manifest) 是一種高度優化的格式,允許針對每個檔案指定檔案壓縮、檔案權限,甚至使用者定義的元數據,例如檔案的使用者或群組。所有大於 1 位元組的值都以小端位元組順序儲存,但 API 版本除外,由於歷史原因,它以大端位元組順序儲存為 3 個半位元組 (nibble)。
所有未使用的旗標皆保留供將來使用,且不得用於儲存自訂資訊。請使用每個檔案的元數據功能來儲存特定檔案的自訂資訊。
Phar 封存清單的基本檔案格式如下:
大小 (位元組) | 說明 |
---|---|
4 位元組 | 清單長度 (以位元組為單位,限制為 1 MB) |
4 位元組 | Phar 中的檔案數量 |
2 位元組 | Phar 清單的 API 版本 (目前為 1.0.0) |
4 位元組 | 全域 Phar 位元映射旗標 |
4 位元組 | Phar 別名長度 |
?? | Phar 別名 (長度根據前一項) |
4 位元組 | Phar 元數據長度 (無則為 `0`) |
?? | 序列化 Phar 元數據,以 serialize() 格式儲存 |
至少 24 * 檔案數量 位元組 | 每個檔案的項目 |