Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Router - z czym to się je
Forum PHP.pl > Forum > PHP > Object-oriented programming
mrWodoo
Witam, planuję wprowadzić do swojego projektu Router/Routing, m. in. dla ładnych urli bez .htaccess, ale nie wiem jak zacząć, bobrowałem po necie trochę i doszedłem do wniosku:
Mam plik np RouterConf.php i w nim
  1. $Routes = array( 'profiles' => array( 'rule' => 'profile/view/:id/:username', array( 'id' => '([0-9]{1,3})', 'username' => '([a-z0-9]{0,15})' ) ) );


Dynamiczny url. Tą zmienną przekazują do klasy Routera, i zadaniem routera jest posklejanie linku (wstawienie zamiast :id tego co jest w drugiej tablicy). Następnie router po prostu sprawdza czy PATH_INFO pasuje do KTÓREJKOLWIEK z reguł, jeśli znajdzie dopasowanie to kończy sprawdzać i tworzy nowy obiekt klasy Dostawca_Profile_View przekazując do konstruktora parametry tj. (na przykłádzie tablicy):
  1. new Dostawca_Profile_View( array( 'id' => $Router->getParam( 'id' ) ) );


Na tym to polega?
Orzeszekk
A dlaczego 90% piszących w PHP choruje na chorobę pod tytułem "Musze miec wlasny framework/biblioteke widoków/biblioteke orm/routing/dodaj sobie cos jeszcze"

router sluzy do tego by rozluznic połączenie pomiedzy URL-ami a pomiedzy fizyczna zawartoscia i lokacja plików PHP. co będzie robil zalezy od tego jak go sobie zrobisz.

Standardowo routerem jest FrontController, plik php przez ktory idą wszystkie żadania i ktory poprzez odpowiednie parametry deleguje żądania do odpowiednich kontrolerów i ich akcji.

Router nie tworzy widoków, tylko uruchamia akcje w kontrolerze. Zwracaniem widoków zajmuje sie kontroler.
najlepiej popisz sobie w jakims normalnym pisanym z jakims poszanowaniem reguł programowania obiektowego frameworku, i w ten sposob najszybciej zobaczysz po co ten router jest.
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-2025 Invision Power Services, Inc.