PHP 8.3.27 Released!

Phar::getMetadata

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

Phar::getMetadataphar アーカイブのメタデータを返す

説明

public 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.
To Top