Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa Router - i QUERY_STRING i PATH_INFO
jang
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 11
Dołączył: 2.02.2005

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


Witam

Chciałbym zapytać jakie Waszym zdaniem rozwiązanie byłoby najlepsze :

1. klasa FrontController sprawdza $_SERVER['QUERY_STRING'] i $_SERVER['PATH_INFO'] i w zależności od tego które wywołanie wystąpiło tworzy obiekt jednej z klas -> RouterStandard lub RouterNice
2. Klasa Request zajmie się "rozpoznaniem" a FrontController pobierze sobie nazwę -> $this->request->getRouterClassName();
3. Stworzyć jedną klasę Router (niczym w CodeIgniter) która sama sobie sprawdzi i uruchomi jedną ze swoich metod (albo do standarowych urli albo do nice)
4. Utworzyć klasę Router która tylko sprawdzi $_SERVER['QUERY_STRING'] i $_SERVER['PATH_INFO'] i utworzy obiekt bądż RouterStandard bądź RouterNice.
5. Może jeszcze inne rozwiązanie ?

Z góry dziękuję za wszelkie odpowiedzi.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Prph
post
Post #2





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


To my rozmawiamy o Routerze, czy o Request?

Cytat
Router - nie zawsze występuje we frameworku, ponieważ nie jest on niezbędny. Jego zadanie polega na przyjęciu żądania i wyznaczenie na jego podstawie nazwy docelowego modułu. Np. dla adresu www.example.com/user/delete router może wyznaczyć kontroler User i akcję Delete. Routery najczęściej stosuje się w celu przyjaznych URLi.


Cytat
Request - obiekt będący otoczką na dane wejściowe do aplikacji - GET, POST, COOKIE itp. Dobrze napisany request wyręcza programistę i w dużej mierze dba o bezpieczeństwo aplikacji. Np. request może automatycznie usuwać białe znaki z początku i końca danych i dodawać slashe (addslashes()).


Jezeli we front kontrolerze rejestrujesz request, to troche mija sie to z celem. Request operuje na tablicach globalnych, wiec nawet singletone nie jest potrzebny. Gdzie potrzebujesz robisz "new Request;".

A co do duzych i malych index.php - dodatkowe 5 linii chyba nie jest przestepstwem.

Ten post edytował Prph 12.09.2007, 22:55:13
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: 3.10.2025 - 12:23