(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::getStub — Phar アーカイブの PHP ローダーあるいは起動スタブを返す
Phar アーカイブには、ブートストラップローダー (あるいは スタブ
)
というものが含まれています。これは PHP で書かれており、
そのアーカイブを PHP から実行したときに最初に実行されます。
たとえば次のようにインクルードしたり、
<?php
include 'myphar.phar';
?>
php myphar.phar
この関数にはパラメータはありません。
現在の Phar アーカイブの起動用ローダー (スタブ) の内容を文字列で返します。
スタブを Phar アーカイブから読み込めない場合に RuntimeException をスローします。
例1 Phar::getStub() の例
<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
echo $p->getStub();
echo "==NEXT==\n";
$p->setStub("<?php
function __autoload($class)
{
include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER(); ?>");
echo $p->getStub();
?>
上の例の出力は以下となります。
<?php __HALT_COMPILER(); ?> ==NEXT== <?php function __autoload($class) { include 'phar://' . str_replace('_', '/', $class); } Phar::mapPhar('myphar.phar'); include 'phar://myphar.phar/startup.php'; __HALT_COMPILER(); ?>