(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::createDefaultStub — phar ファイルフォーマット用のスタブを作成する
$index
= null
, ?string $webIndex
= null
): stringこのメソッドは、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 |
index と
webIndex は、nullable になりました。
|
例1 Phar::createDefaultStub() の例
<?php
try {
$phar = new Phar('myphar.phar');
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
// エラー処理
}
?>