Phar::createDefaultStub
(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) {
// エラー処理
}
?>
参考
- Phar::setStub() - Phar アーカイブの PHP ローダ (あるいは起動スタブ) を設定する
- Phar::getStub() - Phar アーカイブの PHP ローダーあるいは起動スタブを返す