Phar::setMetadata

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

Phar::setMetadataphar アーカイブのメタデータを設定する

説明

public Phar::setMetadata ( mixed $metadata ) : void

注意:

このメソッドは、php.iniphar.readonly0 でないと Phar オブジェクトで動作しません。それ以外の場合は PharException がスローされます。

Phar::setMetadata() は、 phar アーカイブ全体に関する独自の情報を保存する場合に使用します。 ファイル固有のメタデータについては PharFileInfo::setMetadata() を使うようにしましょう。大きなメタデータを使用すると、 phar アーカイブの読み込み時のパフォーマンスが低下します。

メタデータの使用例として考えられるのは、 アーカイブの中で最初に実行するファイルはどれかを指定したり、 » PEAR の package.xml のようなマニフェストの場所を指定したりすることです。 しかし、phar アーカイブに関する有用なデータなら何を保存してもかまいません。

パラメータ

metadata

phar アーカイブについての情報を含む、PHP の変数。

返り値

値を返しません。

例1 Phar::setMetadata() の例

<?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"
}

参考