Phar::startBuffering
Démarre la mise en tampon de écritures Phar, ne modifie pas l'objet Phar sur le disque
&reftitle.description;
public voidPhar::startBuffering
Bien que techniquement inutile, la méthode Phar::startBuffering
peut fournir un gain de performance lors de la création ou la modification d'une archive
Phar avec un grand nombre de fichiers. D'ordinaire, chaque fois qu'un fichier au sein de
l'archive Phar est créé ou modifié, l'archive Phar entière et recréée en incluant les
changements. De cette manière, l'archive sera toujours à jour vis à vis des opération qui
y sont appliquées.
Alors que ceci peut paraître inutile lors de la création d'un archive Phar simple,
ça prend tout son sens lors de l'écriture en une fois de l'archive Phar entière.
De même, il est souvent nécessaire de faire une série de changements et de s'assurer
qu'ils sont tous possibles avant d'écrire sur le disque, un peu comme les transactions
des base de données relationnelles. Les fonctions
Phar::startBuffering/Phar::stopBuffering sont disponibles
dans ce but.
La mise en tampon Phar s'effectue par archive, le tampon actif pour l'archive Phar
foo.phar n'affecte pas les changements faits à l'archive Phar
bar.phar.
&reftitle.parameters;
&no.function.parameters;
&reftitle.returnvalues;
&return.void;
&reftitle.examples;
Un exemple avec Phar::startBuffering
count() . " entrées\n";
$p->startBuffering();
$p['fichier.txt'] = 'salut';
$p['fichier2.txt'] = 'jolie';
$p['fichier2.txt']->setCompressedGZ();
$p['fichier3.txt'] = 'môme';
$p['fichier3.txt']->setMetadata(42);
$p->setStub("stopBuffering();
?>
]]>
&reftitle.seealso;
Phar::stopBuffering
Phar::isBuffering