Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zasadność stosowania ob_start()
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Funkcję ob_start() można wykorzystać na 2 sposoby:
1. do buforowania pobranych stron
2. (najczęściej) do ominięcia komunikatu "(...)headers already sent by (...)"

Ostatnio spotkałem się z opinią, że wykorzystywanie ob_start() do drugiego przypadku jest jak stosowanie globali.. Dlatego też chciałbym poznać Wasze zdanie na ten temat. Czy uważacie, że to "błąd programistyczny"?

Przecież nie raz chcemy przekierować stronę za pomocą header('Location: ' . 'http://somehost/somesite/');
ale to zależy od pewnych warunków i nie da się wcześniej uniknąć nie wysyłnia danych do przęglądakri.. (?)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


To nadal jest błąd.

Najpierw programista powinien się zdecydować co chce wygenerować/pokazać a potem to pokazać.
Widok powinien być oddzielony od logiki strony.
Go to the top of the page
+Quote Post
Jarod
post
Post #3





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Cytat(mike_mech @ 19.03.2007, 23:22:11 ) *
Widok powinien być oddzielony od logiki strony.


Ok jak stosujesz MVC. Ale jak piszesz skrypt mieszając wszystko.. Kiedyś nikt nie słyszał o MVC.
Cytat(mike_mech @ 19.03.2007, 23:22:11 ) *
Najpierw programista powinien się zdecydować co chce wygenerować/pokazać a potem to pokazać.

Ale w klasycznym stylu, gdzie plik index.php zawiera nagłówek, menu i stopkę a środek strony generowany jest przez instrukcje switch (czyli includowane są odpowiednie pliku na podstawie np wartości $_GET NIE DA SIĘ zaplanować nagłówka. Trzeba by generować całą strone, albo ładować wszystko do jednej zmiennej a później wyświetlać..

Pozwoliłem sobie dopisać. Poniżej link do posta, w którym kolega próbuje przekierować użytkownika na inna stronę po wysłaniu maila.

Temat: php wysylanie formularza na dwa adresy email


Ciężko coś takiego osiągnąć bez ob_start(). Chyba, że w głównym pliku w sekcji head zamieścimy warunki, które będą sprawdzały określony parametr $_GET i na podstawie tego ustawiały odpowiednie meta. Przy dużych aplikacjach łatwo o pomyłkę i mało elastyczne..
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 17:21