przychodzi rządanie do aplikacji:
http://www.example.com/jezyl/kontroler/akcja/parm0/parm1
Z ostatniego fragmentu adresu: home/index/parm0/parm1 powstaje obiekt routesPath czyli trasa routowania ktory ma za zadanie dostarczyć routerowi informacje jaki kontroler(klase) ma wybrac, jaka akcje(metode) i z jakmi parametrami(argumentami). Nalezy zatem napewno rozbic string "kontroler/akcja/parm0/parm1" i wyszczegolnic z niego tablice umozliwajac w ten sposob routerowi latwy dostep do elementow trasy routowania. Klasa routesPath ma umozliwiac rowniez szyfrowanie czyli przychodzi 7ji0/fj94/jv94/gj943/vjn84 a ja wiem ze chodzi o /pl/home/index/....
Drugim miejscem w ktorym korzystam z obiektu routesPath bedzie widok. Trzeba jakos zbudowac linki dla uzytkownika. Trzeba skorzystac z algorytmow szyforwania do budowania linkow wiec bedzie to ten sam obiekt reprezentujacy PATH INFO - rouestPage.
routesPath to obiektowy odpowiednik stringu PATH INFO
1. routesPage moze przesyla rowniez dane takie jak język, SESID itd. Jak to zalatwic podczasu budowania linku skoro nie znam tych danych? uzupelniac automatycznie? jak?
2. Za kazdym linkiem w widoku (a bedzie ich durzo) tworzyc obiekt routesPage aby umozliwic szyfrowanie linkow oraz latwe tworzenie linkow? Wydajnosc?
3. Tworzac nowy routePath robie to w ten sposob:
<?php $o = new routePath("pl/news/show/19/35"); ?>
zdrowy rozsadek podpowiadalby, zeby konstruktor odrazu go rozkladal i wyznaczal kontroler akcje itd.. ale po co jesli jest on tworzony w widoku i chodzi tylko o zaszyfrowanie go i wydrukowanie stringu. Lub paradoskalna sytuacja kiedy szyforwanie jest wylaczone to obiekt ten powienien zwrocic to samo co przyjol. Paradoks! gdzie tu wydajnosc?
Będę wdzięczny za wszelkie sugestie.
pozdrawiam, Kuba