Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Router
Forum PHP.pl > Forum > PHP > Object-oriented programming
Black-Berry
Czy dobrze rozumiem model routera? To ma być prosty obiekt który zajmuje się generowaniem linków?

przykład użycia (w moim rozumieniu):

  1. <?php
  2.    $router = new Router();
  3.    $router->action = 'display_body';
  4.    $router->module= 'article';
  5.    $router->item_id = 12;
  6.    $router->page = 1;
  7.    $router->generateLink();
  8. ?>


no i otrzymuje link:

  1. ?action=display_body&module=article&item_id=12&page=1;

lub jesli potrzeba to mogę miec inną postac linku
  1. /artykuly/artykul_12/strona_1.html


Martwi mnie jednak, że to wprowadza sporo niepotrzebnej abstrakcji. Zaletą jednak jest to że wszystkie linki przechodza przez jeden obiekt i mogą być łatwo zmieniane. Moje pytanie to czy dobre mam założenia i czy taki obiekt się opłaca?
LBO
Router nie tylko generuje linki z podanych zmiennych, ale i także potrafi taki link zamienić spowrotem na zmienne.
Nie musisz się ograniczać do oczywistych rzeczy. Router dla www, prócz linków, może sprawdzać też nagłówki.

Dodatkowo aplikacja może posiadać (w zależności od kontekstu uruchomienia) różne Routery - jeden dla konsoli, drugi dla WWW, a jeszcze inny dla XML-RPX, czy SOAP.
Black-Berry
a co u Was robi obiekt router ? Macie taki obiekt w swoich frameworkach ?
Crozin
Tak... mam(y?)

Ja osobiście nie korzystam z Symfony, ale ten fragment (Routing) pod względem funkcjonalności można by powiedzieć "skopiowałem". Polecam zapoznanie się "jak to tam zrobili" - a zobaczysz, co jeszcze Router (ogólnie Routing) może zdziałać. winksmiley.jpg
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.