SunshinePHP 2020 CFP Started

Phar::getStub

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::getStubPhar アーカイブの PHP ローダーあるいは起動スタブを返す

説明

public Phar::getStub ( void ) : string

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(); ?>

参考

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top