PHP8 Phar::mapPhar

2024-02-21 14:39 更新

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::mapPhar — 讀取當(dāng)前執(zhí)行的文件(一個(gè) phar)并注冊(cè)其清單

說明

final public static Phar::mapPhar(?string $alias = null, int $offset = 0): bool

此靜態(tài)方法只能在 Phar 存檔的加載器存根中使用 以便在直接執(zhí)行 PHAR 時(shí)初始化 PHAR 時(shí),或者當(dāng) 它包含在另一個(gè)腳本中。

參數(shù) 

alias

可在 URL 中使用的別名 請(qǐng)參閱此存檔,而不是其完整路徑。phar://

offset

未使用的變量,此處用于與 PEAR 的PHP_Archive兼容。

返回值 

成功時(shí)返回 true, 或者在失敗時(shí)返回 false。

錯(cuò)誤/異常 

如果未在 PHP 執(zhí)行中直接調(diào)用,則會(huì)拋出 PharException, 如果沒有 __HALT_COMPILER();令牌在當(dāng)前源文件中找到,或者如果 無法打開文件進(jìn)行讀取。

示例 

示例 #1 A Phar::mapPhar() example

mapPhar 只能在 phar 的加載器存根內(nèi)使用。用 loadPhar 將外部 phar 加載到內(nèi)存中。

下面是一個(gè)使用 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 存檔


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)