PHP Conference Nagoya 2025

PharData::offsetSet

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::offsetSettar/zip の内部のファイルに、外部ファイルあるいは文字列の内容を設定する

説明

public PharData::offsetSet(string $localName, resource|string $value): void

これは ArrayAccess インターフェイスを実装したものです。 これにより、tar/zip アーカイブの内容に対して配列形式の角括弧を使用したアクセスが可能となります。 offsetSet を使用して、tar/zip アーカイブの既存ファイルの変更や 新しいファイルの追加を行います。

パラメータ

localName

tar あるいは zip アーカイブ内で変更するファイル名 (相対パス)。

value

ファイルの内容。

戻り値

値を返しません。

エラー / 例外

Phar アーカイブへの変更をディスクに書き込む際に何らかのエラーが発生すると PharException がスローされます。

例1 PharData::offsetSet() の例

offsetSet は直接使用してはいけません。 配列に [] 演算子でアクセスする際に使用されます。

<?php
$p
= new PharData('/path/to/my.tar');
try {
// offsetSet がコールされます
$p['file.txt'] = 'Hi there';
} catch (
Exception $e) {
echo
'file.txt を変更できません: ', $e;
}
?>

注意

注意: PharData::addFile(), PharData::addFromString(), PharData::offsetSet() は、呼び出されるたびに新しいPharアーカイブを生成します。パフォーマンスを気にするなら、代わりに PharData::buildFromDirectory()PharData::buildFromIterator() を使うべきです。

参考

  • Phar::offsetSet() - 内部ファイルに、外部ファイルの内容を設定する

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top