phar アーカイブのメタデータを設定する

# Phar::setMetadata

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

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

### 説明

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

> 注意:

> このメソッドは、php.ini の phar.readonly が 0 でないと 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"
    }

### 参考

- Phar::getMetadata() - phar アーカイブのメタデータを返す
- Phar::delMetadata() - phar のグローバルメタデータを削除する
- Phar::hasMetadata() - ファイルがグローバルなメタデータを持つかどうかを返す