(PHP >= 5.3.0, PECL phar >= 1.0.0)
Phar::offsetGet — 指定したファイルの PharFileInfo オブジェクトを取得する
これは ArrayAccess インターフェイスを実装したものです。 これにより、Phar アーカイブの内容に対して配列形式の角括弧を使用したアクセスが可能となります。 Phar::offsetGet() を使用して、Phar アーカイブからファイルを取得します。
Phar 内で探すファイル名 (相対パス)。
PharFileInfo オブジェクトを返します。 これを使用して、ファイルの内容を順に処理したりファイルの情報を取得したりします。
そのファイルが Phar アーカイブ内に存在しない場合に、このメソッドは BadMethodCallException をスローします。
例1 Phar::offsetGet() の例
ArrayAccess インターフェイスを実装した他のクラスと同様、 Phar::offsetGet() は [] 演算子を使用した場合に自動的にコールされます。
<?php
$p = new Phar(dirname(__FILE__) . '/myphar.phar', 0, 'myphar.phar');
$p['exists.txt'] = "file exists\n";
try {
// 自動的に offsetGet() をコールします
echo $p['exists.txt'];
echo $p['doesnotexist.txt'];
} catch (BadMethodCallException $e) {
echo $e;
}
?>
上の例の出力は以下となります。
file exists Entry doesnotexist.txt does not exist