(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::isBuffering — Phar の書き込み操作がバッファリングされるか、あるいは直接ディスクに書き込まれるかを調べる
このメソッドを使用すると、その Phar が変更を即時にディスクに書き込むのか それとも Phar::stopBuffering() をコールしないと変更が保存されないのかがわかります。
Phar の書き込みバッファリングはアーカイブ単位で処理されます。
Phar アーカイブ foo.phar
でバッファリングが有効であったとしても、それは
Phar アーカイブ bar.phar
の変更には影響しません。
この関数にはパラメータはありません。
例1 Phar::isBuffering() の例
<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p2 = new Phar('existingphar.phar');
$p['file1.txt'] = 'hi';
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>
=2=
<?php
$p->startBuffering();
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
$p->stopBuffering();
?>
=3=
<?php
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>
上の例の出力は以下となります。
bool(false) bool(false) =2= bool(true) bool(false) =3= bool(false) bool(false)