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%)
-----


Dlaczego potrzebujesz miec jak najmniejszy index.php? Wydaje mi sie, ze dobrze jest to rozwiazac tak:

1. Uruchamiasz Front_Controllera -> on tworzy sobie obeikt routera.
2. Mozesz ustawic nowy router przed odpaleniem Front_Controllera, np:

$oFC->setRouter(new Moj_Nowy_Router);

Oczywiscie mozna to zrobic za po moca konfigow, ale po co? Wiekszy narzut, bo kontroler zawsze sprawdza, jaki ma wlaczyc router. Akurat router jest jeden przez caly zywot aplikacji i proawdopodobienstwo, ze kiedys odpalisz konfiguracje i zmienisz router na inny jest znikome. Wiec daj na starcie inny router front kontrolerowi i niech sie o routing juz nie martwi.
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: 4.10.2025 - 09:45