PHP8 Phar::mapPhar
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::mapPhar — 读取当前执行的文件(一个 phar)并注册其清单
说明
final public static Phar::mapPhar(?string $alias = null, int $offset = 0): bool
此静态方法只能在 Phar 存档的加载器存根中使用 以便在直接执行 PHAR 时初始化 PHAR 时,或者当 它包含在另一个脚本中。
参数
alias
可在 URL 中使用的别名 请参阅此存档,而不是其完整路径。
phar://
offset
未使用的变量,此处用于与 PEAR 的PHP_Archive兼容。
返回值
成功时返回 true, 或者在失败时返回 false。
错误/异常
如果未在 PHP 执行中直接调用,则会抛出 PharException, 如果没有 __HALT_COMPILER();令牌在当前源文件中找到,或者如果 无法打开文件进行读取。
示例
示例 #1 A Phar::mapPhar() example
mapPhar 只能在 phar 的加载器存根内使用。用 loadPhar 将外部 phar 加载到内存中。
下面是一个使用 mapPhar 的 Phar 加载器存根示例。
<?php
function __autoload($class)
{
include 'phar://me.phar/' . str_replace('_', '/', $class) . '.php';
}
try {
Phar::mapPhar('me.phar');
include 'phar://me.phar/startup.php';
} catch (PharException $e) {
echo $e->getMessage();
die('Cannot initialize Phar');
}
__HALT_COMPILER();
参见
- Phar::loadPhar() - 加载任何带有别名的 phar 存档