Phar::createDefaultStub

phar ファイルフォーマット用のスタブを作成する

説明

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

このメソッドは、phar ファイル形式のスタブを作成するためのもので、 tar 形式や zip 形式の phar アーカイブでは使用しません。

PHP でかかれた起動ローダー (スタブ) を含む Phar アーカイブを PHP から実行するには、次のようにそれをインクルードするか、

<?php
include 'myphar.phar';
?>
あるいは単に実行します。
php myphar.phar
    

このメソッドは、phar アーカイブの起動時に実行するスタブ用のメソッドを作成します。 さらに、phar アーカイブをコマンドラインやウェブサーバーから実行する際には別のファイルを指定することもできます。 ローダースタブは Phar::interceptFileFuncs もコールでき、PHP のアプリケーションからファイルシステムを簡単に扱えるようになります。 phar 拡張モジュールが存在しない場合は、 ローダースタブが phar アーカイブの内容を一時ディレクトリに展開し、 そのファイルを操作します。 シャットダウン関数が、この一時ファイル群を削除します。

パラメータ

index

コマンドラインからアクセスする場合に、 実行する phar アーカイブ内の相対パス。

webIndex

Webブラウザからアクセスする場合に、 実行する phar アーカイブ内の相対パス。

戻り値

独自の起動ローダー (スタブ) を文字列で返します。 これを用いて作成した Phar アーカイブは、 Phar 拡張モジュールが有効になっていない環境でも実行することができます。

エラー / 例外

パラメータの長さが 400 バイトをこえる場合に UnexpectedValueException をスローします。

変更履歴

バージョン 説明
8.0.0 indexwebIndex は、nullable になりました。

例1 Phar::createDefaultStub の例

<?php
try {
    
$phar = new Phar('myphar.phar');
    
$phar->setStub($phar->createDefaultStub('cli.php''web/index.php'));
} catch (
Exception $e) {
    
// エラー処理
}
?>

参考

  • Phar::setStub
  • Phar::getStub