Forum und email

Phar->setMetaData

(PECL phar:1.0.0-1.2.1)

Phar->setMetaData — phar アーカイブのメタデータを設定する

説明

void Phar->setMetaData ( mixed $metadata )

setMetaData() を使用するのは、 phar アーカイブ全体に関する独自の情報を保存する場合のみに限るべきです。 ファイル固有のメタデータを保存するには PharFileInfo->setMetaData() を使用します。メタデータを使用すると、phar アーカイブの読み込み時のパフォーマンスが劇的に低下します。これは、 メタデータのサイズが大きい場合に顕著になります。 この関数は phar の内容を変更するので、使用するには INI 設定 phar.readonly が off になっていなければなりません。

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

パラメータ

metadata

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

Example#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 
'Could not create and/or modify phar:'$e;
    echo 
'phar の作成/変更ができません:'$e;
}
?>

上の例の出力は以下となります。

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}