Phar文件格式的实际布局为stub/manifest/contents/signature,并在其manifest中存储Phar存档中包含的关键信息。
Phar清单是一种高度优化的格式,允许对每个文件指定文件压缩、文件权限,甚至用户定义的元数据,例如文件用户或组。所有大于1字节的值都以小端字节序存储,API版本除外,由于历史原因,它以大端字节序存储为3个半字节。
所有未使用的标志都保留供将来使用,不得用于存储自定义信息。使用每个文件的元数据功能来存储有关特定文件的自定义信息。
Phar存档清单的基本文件格式如下所示
| 大小(字节) | 描述 |
|---|---|
| 4字节 | 清单长度(字节)(限制为1MB) |
| 4字节 | Phar中的文件数量 |
| 2字节 | Phar清单的API版本(当前为1.0.0) |
| 4字节 | 全局Phar位图标志 |
| 4字节 | Phar别名的长度 |
| ?? | Phar别名(长度基于前一个值) |
| 4字节 | Phar元数据的长度(0表示没有) |
| ?? | 序列化Phar元数据,以serialize()格式存储 |
| 至少24 * 条目数字节 | 每个文件的条目 |