Phar::getMetadata

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

Phar::getMetadata — phar アーカイブのメタデータを返す

説明

public function Phar::getMetadata(array $unserializeOptions = []): mixed

アーカイブのメタデータを取得します。メタデータは、PHP の任意の変数をシリアライズしたものです。

警告

メタデータにアクセスすると、メタデータの展開処理が発生します。 これによって、任意の PHP コードの実行をトリガできます。 このメソッドを信頼できない phar アーカイブに対して使ってはいけません。 使う場合は、unserializeOptions を安全な方法で設定してください。

パラメータ

パラメータはありません。

戻り値

Phar アーカイブのメタデータとして保存されている、シリアライズ可能な任意の PHP の値を返します。 メタデータが保存されていない場合は null を返します。

変更履歴

バージョン 説明
8.0.0 引数 unserializeOptions が追加されました。

例

例1 Phar::getMetadata() の例

<?php
// 確実に消しておきます
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.php'] = '<?php echo "hello";';
    $p->setMetadata(array('bootstrap' => 'file.php'));
    var_dump($p->getMetadata());
} catch (Exception $e) {
    echo 'phar を変更できません:', $e;
}
?>

上の例の出力は以下となります。

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

参考

+add a note

User Contributed Notes

There are no user contributed notes for this page.