Phar::getMetadata

phar アーカイブのメタデータを返す

説明

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

アーカイブのメタデータを取得します。メタデータは、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"
}

参考

  • Phar::setMetadata
  • Phar::delMetadata
  • Phar::hasMetadata