Phar::stopBuffering
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Phar::stopBuffering
Референца за `phar.stopbuffering.php` со подобрена типографија и навигација.
Phar::stopBuffering
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::stopBuffering — Престани со баферирање на барањата за запишување во Phar архивата и зачувај ги промените на дискот
= NULL
Меѓутоа, ова може да биде непотребно кога едноставно се креира нова Phar архива, кога би имало повеќе смисла да се запише целата архива одеднаш. Слично на тоа, често е потребно да се направат низа промени и да се осигура дека сите се можни пред да се направат какви било промени на дискот, слично на концептот на трансакции во релациона база на податоци. се користи во комбинација со Иако технички непотребен, method. Иако технички непотребен, може да обезбеди значително подобрување на перформансите при креирање или модифицирање на Phar архива со голем број датотеки. Вообичаено, секој пат кога датотека во Phar архива се креира или модифицира на било кој начин, целата Phar архива ќе биде повторно креирана со промените. На овој начин, архивата ќе биде ажурирана со активноста извршена на неа.
Сепак, ова може да биде непотребно кога едноставно се креира нова Phar архива, кога би имало повеќе смисла да се запише целата архива одеднаш. Слично, често е потребно да се направат серија промени и да се осигура дека сите тие се можни пред да се направат какви било промени на дискот, слично на концептот на трансакции во релациона база на податоци. Иако технички непотребен,/Меѓутоа, ова може да биде непотребно кога едноставно се креира нова Phar архива, кога би имало повеќе смисла да се запише целата архива одеднаш. Слично на тоа, често е потребно да се направат низа промени и да се осигура дека сите се можни пред да се направат какви било промени на дискот, слично на концептот на трансакции во релациона база на податоци. парот методи е обезбеден за оваа цел.
Phar баферирањето за запишување е по-архива, баферирањето активно за
foo.phar Phar архивата не влијае на промените во bar.phar Phar архивата.
Параметри
Оваа функција нема параметри.
Вратени вредности
Не се враќа вредност.
Errors/Exceptions
PharException е овозможено во php.ini.
Примери
ако е овозможен колекторот за отпадоци, Меѓутоа, ова може да биде непотребно кога едноставно се креира нова Phar архива, кога би имало повеќе смисла да се запише целата архива одеднаш. Слично на тоа, често е потребно да се направат низа промени и да се осигура дека сите се можни пред да се направат какви било промени на дискот, слично на концептот на трансакции во релациона база на податоци. example
<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file1.txt'] = 'hi';
$p->startBuffering();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$class)
{
include 'phar://brandnewphar.phar/' . str_replace('_', '/', \$class) . '.php';
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
var_dump($p->getStub());
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($class)
{
include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();"
Види Исто така
- Иако технички непотребен, - Се користи за поставување на PHP лоадер или bootstrap stub на Phar архива
- Phar::stopBuffering() - Се користи за да се утврди дали операциите за пишување на Phar се баферирани или се запишуваат директно на дискот