Jest nią emulacja ciastek. Biblioteka wysyła ciastko kontrolne i jeżeli nie jest ono ustawione, odpowiednie wartości doklejane są automatycznie do adresu URL. Jest to robione na poziomie "sprzętowym" i programista nawet nie musi się tym zajmować. Ciastka doklejane są do adresu bez pośrednictwa żadnego z routerów (adresy w stylu plik.php/aaa/bbb?ciastko=wartosc), a podyktowane to zostało dwoma okolicznościami. Po pierwsze, jeden z routerów (opfValueRouter) traktuje adres jako ciąg samych wartości, a więc muszą być one odczytywane z niego w takiej kolejności, w jakiej występują. Gdyby do tego doszły ciastka, powstałoby niemałe zamieszanie. Po drugie, dzięki "tradycyjnej" metodzie możliwe jest dopisywanie wartości zwyczajnym URL-Rewriterem dostępnym w PHP, co gwarantuje, że WSZYSTKIE adresy otrzymają identyczne dane. Gdyby zadanie przerzucić na router i metodę createURL(), mogłoby się okazać, że wygenerowaliśmy jeden szablon, stworzyliśmy ciastko, wygenerowaliśmy drugi i dopiero od niego jest ono uwzględnione w adresach (czyli przekłamanie).
Routery opfNiceRouter i opfValueRouter zyskały jeszcze jedną możliwość. Jeśli odkryją one, że parametry podane są mimo wszystko w tradycyjny sposób, przełączają się one automatycznie na opfDefaultRouter. Tak więc zapisy plik.php/parametr1/wartosc i plik.php?parametr1=wartosc są równoważne i można ich używać zamiennie.















Napisał hwao w poniedziałek, 27 marca 2006 o 16:48
Czyli finalnie SessionId laduje na koncu w url'u po ? tak?
Bo tak szczerze to nie za wiele zrozumialem z tego co pisze ;)