Phar::getStub
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)
Phar::getStub — Phar アーカイブの PHP ローダーあるいは起動スタブを返す
説明
public Phar::getStub ( ) : string
Phar アーカイブには、ブートストラップローダー (あるいは スタブ
)
というものが含まれています。これは PHP で書かれており、
そのアーカイブを PHP から実行したときに最初に実行されます。
たとえば次のようにインクルードしたり、
<?phpinclude 'myphar.phar';?>
あるいは単純に実行したりなどした場合です。
php myphar.phar
返り値
現在の Phar アーカイブの起動用ローダー (スタブ) の内容を文字列で返します。
例
例1 Phar::getStub() の例
<?php$p = new Phar('/path/to/my.phar', 0, 'my.phar');echo $p->getStub();echo "==NEXT==\n";$p->setStub("<?phpfunction __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(); ?>
参考
- Phar::setStub() - Phar アーカイブの PHP ローダ (あるいは起動スタブ) を設定する
- Phar::createDefaultStub() - phar ファイルフォーマット用のスタブを作成する