PHP Conference Japan 2024

Phar::createDefaultStub

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

Phar::createDefaultStub建立 phar 檔案格式專用的 stub

說明

final public static Phar::createDefaultStub(?string $index = null, ?string $webIndex = null): string

此方法用於建立 phar 檔案格式專用的 stub,不適用於以 tar 或 zip 為基礎的 phar 封存檔。

Phar 封存檔包含一個以 PHP 撰寫的啟動載入器,或稱為 stub,當封存檔在 PHP 中執行時,它會被執行,執行方式可以透過 include

<?php
include 'myphar.phar';
?>
或是直接執行
php myphar.phar

這個方法提供了一個簡單易用的方式來建立一個 stub,它會從 phar 封存檔中執行一個啟動檔案。此外,可以指定不同的檔案,分別用於從命令列執行 phar 封存檔和透過網路伺服器執行。 載入器 stub 也會呼叫 Phar::interceptFileFuncs(),以便輕鬆地將存取檔案系統的 PHP 應用程式打包。如果沒有 phar 擴充功能,載入器 stub 會將 phar 封存檔解壓縮到一個臨時目錄,然後對檔案進行操作。一個關閉函式會在程式結束時刪除臨時檔案。

參數

index

在命令列中存取時,phar 封存檔內要執行的相對路徑

webIndex

透過網頁瀏覽器存取時,phar 封存檔內要執行的相對路徑

回傳值

返回一個字串,其中包含自訂啟動載入器 (stub) 的內容,允許建立的 Phar 封存檔在啟用或未啟用 Phar 擴充功能的情況下都能正常運作。

錯誤/例外

如果任一參數長度超過 400 位元組,則會拋出 UnexpectedValueException

更新日誌

版本 說明
8.0.0 indexwebIndex 現在可以為 null。

範例

範例 #1 Phar::createDefaultStub() 範例

<?php
try {
$phar = new Phar('myphar.phar');
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (
Exception $e) {
// 處理錯誤
}
?>

參見

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top