Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [class] Router
Forum PHP.pl > Inne > Oceny
bim2
Natchnął mnie topic w PRO i jakoś mnie tak naszło napisać Router samemu. Pomagał mi brat.

Proszę o ocenę ^^
http://hernass.pl/download/entry-b9e3dca91...0719b6ae3a2.htm
Komunista
"model"? Chyba kontroler ;]
  1. <?php
  2. private $aRouting;
  3. private $aRoutingParse;
  4. private $sURI;
  5. private $parsingArray;
  6. ?>

To już wypada się trzymać przyjętego standardu, czyli $aParsingArray. W kodzie to ciężko się miejscami połapać
Metoda do budowania url powinna mieć chyba trochę więcej niż jeden parametr, kolejno: kontroler, akcja, parametry, chociaż do tego można napisać oddzielną funkcję, która będzie generować urle o takim schemacie jakie są ustalone.
Działania nie mogę sprawdzić bo nie mam obecnie gdzie sadsmiley02.gif
Dopisz dispatcher wtedy ta klasa będzie użyteczna smile.gif
bim2
Dispatchera mam, ale w frameworku już. Potrzebowałem tylko Routera, a że nawet fajnie wyszedł do udostępniam ^^
Budowanie url polega na: Akcja/Metoda?param=paramValue&param2=paramValue2
Komunista
Tak, rozumiem, ale lepiej by było może przykładowo tak:
url('akcja', 'metoda', array('param1' = > 'value1', 'param2' => 'value2'));
W ogóle urle mogły by być w postaci akcja/metora/par1/val1/par2/val2/, można wtedy zrobić explode path_info
bartg
Jako współautor dodam, że:
Oczywiście można w ten sposób smile.gif. Jednak wraz z rozwojem frameworka stwierdziliśmy, że ma on nam pomóc w pisaniu aplikacji. Czy nie szybciej jest ci napisać
  1. <?php
  2. url('User/show?id='.$usrID)
  3. ?>
, niż
  1. <?php
  2. url('User', 'show', array('id' => $usrId))
  3. ?>

Dodam, że w pluginie Templates wyrazenia
  1. <a href="`User/show?id=$usrId`">
Także są zamieniane na linki.

Kiedyś stosowaliśmy twój sposób, jednak ten wydaje się "wydajniejszy" jeśli chodzi o wygodę pisanie.

Oczywiście to tylko moja opinie, każdy może mieć inną.

Pozdrawiam BartG
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-2024 Invision Power Services, Inc.