Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Framework. httpRequest
Forum PHP.pl > Forum > PHP
daniel1302
Witam, piszę klasę, która będzie pobierała dane odebrane od przeglądarki typu: COOKIE, SESSION, POST, GET itp.
Która koncepcja jest lepsza:
1.Moja- 1 Uniwersalna klasa dla wszystkich zmiennych:
  1. <?php
  2. $httpRequest -> _POST;
  3. $httpRequest -> _SESSION
  4. ?>


2. Kolegi- Dla każdego typu danych osobny obiekt który jest tworzony w klasie httpRequest
  1. <?php
  2. $httpRequest -> post() -> _get();[
  3. $httpRequest -> get() -> _get();
  4. ?>
Quider
Nie rozumiem za bardzo zagadnienia, niemniej jednak jak porobisz sobie obiekt dla tablicy _POST jak i tablicy _GET czy tam _SESSION to mija się z celem.

Ja w swoim frameworku założyłem, że mogę mieć max 3 parametry w linku: np:

localhost/index.php?com=bleble&action=blublu&id=2

Stworzyłem też klasę, która "parsuje" link i załącza do skryptu klasę 'bleble' lub domyslna i metodę 'blublu' tej właśnie klasy oraz 3 parametr to jakis dowolny.

Możesz też stworzyć klasę Session, która będzie przypisywać zmienne do tablicy _SESSION, ale nie widzę sensu przetrzymywania zmiennych tablic _POST i _GET.
bim2
Ja propounej normlanie przekazywać parametry _GET, _POST itd. Jedynie filtrować je za pomocą array_map() lub jeśli nie chcesz czegoś przepurszczać przez filt, to w httpRequest zrób metody getInt('zmienna') getString() itd... smile.gif
blooregard
Ja w swoim frameworku rozwiązałem to tak:
Mam klasę Request, jej składową prywatną jest tablica asoscjacyjna będąca suma tablic $_GET i $_POST. W każdej chwili mogę sprawdzić dowolną zmienną z tych tablic metodą getRequest, np.
  1. <?php
  2. //sprawdzamy, czy wcisnieto przycisk ' Zapisz zmiany ' formularza
  3. if ( $Request->getRequest['submit_zapisz'] ) {
  4.    $imie = $request->getRequest['imie'];    // odpowiada $imie = $_POST['imie'];
  5.  
  6.  ...itd...
  7. }
  8. ?>

Dodatkowo w metodzie getRequest() oprócz parametru wprowadziłem walidację zmiennych i mogę sobie sprawdzać, czy np. przeslane POST-em pole formularza
to string o długości od 6 do 15 znaków (jeśli nie, to mamy błąd):
  1. <?php
  2. $imie = $request->getRequest('imie' , 'STRING' , 6 , 15 );
  3. if (!$imie) {
  4.  echo  Prosze poprawic blad w polu Imię;
  5. }
  6. ?>

Dodatkową korzyścią jest fakt, że nie musze sprawdzać, czy np. 'imie' przesłane zostało GET-em czy POST-em.

Z kolei o sposobie postępowania z $_SESSION (na podobnej zasadzie , w moim frameworku mam do tego klasę Session ) napisałem na mojej stronie internetowej i tam możesz sobie zobaczyć, jak ja to rozwiązałem:
http://rafjan.pl/index.php?s=wp&id=1
Black-Berry
Spójrz na to z trzeciej strony.... w php masz 4 tablice globalne $_GET, $_POST, $_SESSION, $_COOKIE. Powinieneś więc zrobić 4 osobne obiekty $get, $post, $session, $cookie. U siebie mam tylko własne $session ale gdybym miał pisać 3 pozostałe to jako niezależne obiekty.
daniel1302
Dziękuje wszystkim temat zakończony wszyscy mają + ale największy blooregard
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-2025 Invision Power Services, Inc.