konto usunięte

Temat: output control function

Witam serdecznie czy mógł by mi tak prosto wytłumaczyć lub odesłać na jakąś stronę ten pakiet w PHP.

http://www.php.net/manual/en/ref.outcontrol.php

wogóle nie rozumiem o co chodzi z tym buforowaniem

Pozdrawiam Dawid
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: output control function

1) przegladarka na jakims kompie laczy sie z serwerem www
2) serwer www uruchamia interpreter php
3) interpreter php wczytuje kod strony
4) ob_start
5) php "wykonuje" strone
6) kazde echo, var_dump, print_r itp jest kierowane do bufora
7) ob_flush wypluwa zawartosc bufora do kodu odpowiedzi
8) interpreter dodaje naglowki http
9) serwer www wysyla odpowiedz spowrotem do przegladarki

konto usunięte

Temat: output control function

Dzięki za odp.
Czyli z tego co rozumiem to dzięki temu cała strona może być stworzona na serwerze i dopiero wtedy jest wysyłana do przeglądarki??

poprawcie mnie jeżeli się mylę

i jeszcze pytanie dlaczego się tego używa?? jeżeli tego nie użyjemy to strona chyba będzie chodzić?? chodzi o to żeby poznać różnicę pomiędzy zastosowaniem tego a nie zastosowaniem??

pozdr

konto usunięte

Temat: output control function

Funkcje buforowania stosuje się, gdy chcemy przechwycić część lub całość "produktu" jakim jest kod wysyłany do klienta (zazwyczaj HTML). Stosuje się je, gdy chcemy coś z tym kodem zrobić, np zapisać w pliku.

konto usunięte

Temat: output control function

Dawid Rogaczewski:
Dzięki za odp.
Czyli z tego co rozumiem to dzięki temu cała strona może być stworzona na serwerze i dopiero wtedy jest wysyłana do przeglądarki??

poprawcie mnie jeżeli się mylę
tak właśnie wygląda bez użycia ob_

a przykładowo z użyciem ob_start() i ob_end_flush() możesz wysyłać stronę partami, wczytując i przesyłając do klienta (przeglądarki) kolejne porcje tekstu/generowanej zawartości

konto usunięte

Temat: output control function

OK dzięki wszystkim za odpowiedź :)
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: output control function

Dawid Rogaczewski:
Dzięki za odp.
Czyli z tego co rozumiem to dzięki temu cała strona może być stworzona na serwerze i dopiero wtedy jest wysyłana do przeglądarki??
dokladnie
i jeszcze pytanie dlaczego się tego używa?? jeżeli tego nie użyjemy to strona chyba będzie chodzić?? chodzi o to żeby poznać różnicę pomiędzy zastosowaniem tego a nie zastosowaniem??
przedewszystkim dlatego ze php dziala "strumieniowo" a wiec kazde echo, print_r, var_dump itp jest odrazu wysylane do strumienia wyjsciowego (np: stdout) zaraz po wykonaniu funkcji, ale poniewaz protokol http ma okreslona budowe dlatego przy pierwszym zwyklym wywolaniu echo binarka php najpierw wysle kod naglowka a dopiero pozniej zacznie wysylac kod strony, problem robi sie wtedy jak gdzies w kodzie juz po wyslaniu czegos chcesz zmienic cos w naglowkach, dostajesz wtedy brzydki error ze juz zapuzno, dlatego wlasnie jest buforowanie ze najpierw tworzysz i ustawiasz co chcesz w odpowiedzi a na samym koncu wyrzucasz ja do przegladarki www

konto usunięte

Temat: output control function

Łukasz Cepowski:
Dawid Rogaczewski:
Dzięki za odp.
Czyli z tego co rozumiem to dzięki temu cała strona może być stworzona na serwerze i dopiero wtedy jest wysyłana do przeglądarki??
dokladnie
i jeszcze pytanie dlaczego się tego używa?? jeżeli tego nie użyjemy to strona chyba będzie chodzić?? chodzi o to żeby poznać różnicę pomiędzy zastosowaniem tego a nie zastosowaniem??
przedewszystkim dlatego ze php dziala "strumieniowo" a wiec kazde echo, print_r, var_dump itp jest odrazu wysylane do strumienia wyjsciowego (np: stdout) zaraz po wykonaniu funkcji, ale poniewaz protokol http ma okreslona budowe dlatego przy pierwszym zwyklym wywolaniu echo binarka php najpierw wysle kod naglowka a dopiero pozniej zacznie wysylac kod strony, problem robi sie wtedy jak gdzies w kodzie juz po wyslaniu czegos chcesz zmienic cos w naglowkach, dostajesz wtedy brzydki error ze juz zapuzno, dlatego wlasnie jest buforowanie ze najpierw tworzysz i ustawiasz co chcesz w odpowiedzi a na samym koncu wyrzucasz ja do przegladarki www


Dzięki jeszcze raz, teraz to już zrozumiałem to w całości i chyba się okaże że będę dosyć często używał tej funkcji.

Podobne tematy


Następna dyskusja:

ioncube i output buffer




Wyślij zaproszenie do