(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::createDefaultStub — 建立 phar 檔案格式專用的 stub
$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 |
index 和 webIndex 現在可以為 null。 |
範例 #1 Phar::createDefaultStub() 範例
<?php
try {
$phar = new Phar('myphar.phar');
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
// 處理錯誤
}
?>