PHP.mk документација

Баферирање на излезот

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

outcontrol.output-buffering.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека outcontrol.output-buffering.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Баферирање на излезот

Референца за `outcontrol.output-buffering.php` со подобрена типографија и навигација.

outcontrol.output-buffering.php

Баферирање на излезот

Output buffering is the buffering (temporary storage) of output before it is flushed (sent and discarded) to the browser (in a web context) or to the shell (on the command line). While output buffering is active no output is sent from the script, instead the output is stored in an internal buffer.

Излезниот бафер (output buffering) е баферирање (привремено складирање) на излезот пред да биде исфрлен (испратен и отфрлен) до прелистувачот (во веб контекст) или до школката (на командна линија). Додека излезниот бафер е активен, не се испраќа излез од скриптата, наместо тоа, излезот се складира во внатрешен бафер.

Баферирањето влијае на PHP

PHP се потпира на основната софтверска/хардверска инфраструктура при исфрлање на излезот. Баферирањето имплементирано од конзолите на командна линија (на пр. line buffered) или веб серверите и прелистувачите во веб контекст (на пр. fully buffered) влијаат на тоа кога излезот се прикажува на крајниот корисник. Некои од овие ефекти можат да се елиминираат со фино подесување на серверските поставки и/или усогласување на големините на баферите на разните слоеви.

Контрола на излезниот бафер во PHP ob_* PHP обезбедува целосно бафериран кориснички излезен бафер со функции за стартување, манипулирање и исклучување на баферот (повеќето функции), и две функции за исфрлање на основните системски бафери (flush() and ob_implicit_flush()). Дел од оваа функционалност може да се постави и/или конфигурира со соодветните php.ini поставки.

Случаи на употреба

Излезниот бафер е генерално корисен во ситуации кога баферираниот излез се менува или инспектира, или се користи повеќе од еднаш во барање; или кога е посакувано контролирано исфрлање на излезот. Специфични случаи на употреба вклучуваат:

  • кеширање на резултатот од пресметковно/време интензивни скрипти, на пример со генерирање на статични HTML pages
  • повторно користење на генерираниот излез со негово прикажување, зачувување во датотека и/или испраќање по е-пошта
  • исфрлање на head од HTML страница одделно од body им овозможува на прелистувачите да вчитуваат надворешни ресурси додека скриптата извршува потенцијално подолги процеси (на пр. пристап до база на податоци/датотека, надворешна мрежна врска). Ова е корисно само ако HTTP статус кодот не може да се промени откако ќе се испратат заглавјата
  • извлекување информации од функции кои инаку би произвеле излез (на пр. phpinfo())
  • контролирање на излезот на код од трети страни со менување/користење делови (на пр. извлекување податоци, замена на зборови/фрази, додавање недостасувачки HTML тагови), или негово целосно отфрлање под одредени услови (на пр. грешки)
  • polyfilling certain unavailable web server functionality (e.g. compressing or encoding output)

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.