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 * 条目数字节 | 每个文件的条目 |