Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: obiekt Response
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
squid
Obiekt response wg mnie powinien wysylac naglowni tworzyc na nowa wszystkie zmienne HTTP jak $_SESSION (ale bez post i get) zlikwidowane przez request. I moze do response przekazdywac tresc dla uzytkownika obrobiona i wygenerowana najpierw przez model i potem przez widok. Moze zamiast obiektu/klasy response lepsza jeste metoda w widoku o takiej f-cji?
jak sie na to zapatrujecie ?
NuLL
A skąd ty żeś wyczytał że Response to element MVC ?
squid
a w zasadzie to nigdzie, taki bug, juz sie poprawilem.

Edit: choc wlasciwie to nie wazne czego to jest elementem bo stosuje to z MVC i w takim kontekscie tego potrzebuje winksmiley.jpg
chmolu
Wg mnie zadania obiektu response to:
- wysyłanie nagłówków,
- wysyłanie cookies,
- wyświetlanie wygenerowanego outputu

Sesje nie pasują do response - to zupełnie coś innego.
squid
Cytat(chmolu @ 2005-08-27 18:13:59)
Sesje nie pasują do response - to zupełnie coś innego.

no ale skoro naglowki to session_start() tez wysyla naglowki przeciez.
A jesli na poczatku skryptu przepisuje zmienne $_SESSION do jakiegos kontenera i niszcze poprzez unset($_SESSION) zeby zachowac hermetyzacje to na koncu skryptu musze odtworzyc te zmienne z kontenera spowrotem do $_SESSION zeby byly widoczne w nastepnym skryocie. Mam racje? To chyba tez powinien obsluzyc Response
Ludvik
Cytat
no ale skoro naglowki to session_start() tez wysyla naglowki przeciez.

Co nie znaczy, że to jest główne zadanie sesji. W idealnym przypadku obiekt sesji powinien przechowywać referencję do obiektu Response, aby ten przesyłał nagłówki. session_start() wysyła samo nagłówki, więc taka sytuacja raczej nie zajdzie.

Obiekt Response nie ma prawa ponosić odpowiedzialności za odtwarzanie danych. On tylko odpowiada na żądanie, a sesje przechowują dane, które jedyne co mają wspólnego z odpowiedzią to przesłanie ciastka, żeby jakoś dostać się do nich przy następnym żądaniu. Równie dobrze można włączyć sesję do Requestu, bo przecież tam jest identyfikator sesji...

Tak ja to widzę.
squid
To co powinno sie zajac odtwarzanem danych?
Jak sobie wyobrazasz obiekt sesji?
Ludvik
W php do tych operacji są dostępne session handlery. Artykuł jest tutaj.
Możesz taki obiekt przekazać do konstruktora albo jakiejś metody, która automatycznie podepnie handlera.

Teoretycznie obiekt sesji powinien wykorzystać obiekt żądania i odpowiedzi, ale php wszystkie operacje z nimi związane wykonuje "pod maską", więc nie ma zbyt dużej potrzeby używania ich. Z tego co widziałem w phiend wykorzystuje Request tylko do sprawdzenia jak przekazany jest identyfikator sesji. U mnie w ogóle nie wykorzystuję ani Requestu ani Response.

Przykład dobrej implementacji obiektu sesji jest w phiendzie2.

PS. Trochę off-topic się robi winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.