PHP 的 Phar::mapPhar() 方法有什么作用?

JW.*_*JW. 5 php manifest phar

我正在考虑创建一个 phar 存根以在 PHP CLI 应用程序中使用。

Phar::mapPhar方法的文档说它“读取当前执行的文件(一个 phar)并注册它的清单”。

你能解释一下“注册其清单”是什么意思,并指出如果不带参数调用它会发生什么。我为什么要注册清单?将此调用添加到我的 phar 存根有什么好处。

cwe*_*ske 1

Phar::mapPhar()读取 phar 的文件索引(“manifest”)并在内部注册它,以便文件操作如

include 'phar://my.phar/foo/bar/baz.php';
Run Code Online (Sandbox Code Playgroud)

工作。如果没有映射 phar,PHP 将不知道它的phar://my.phar/foo/bar/baz.php存在(也不知道在哪里可以找到它)。