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() - ファイルがグローバルなメタデータを持つかどうかを返す