Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF] Routing w jakim pliku.
istrd
post 27.11.2011, 20:46:13
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.12.2009

Ostrzeżenie: (0%)
-----


Witam,
Czytam o Routingu w manualu Zenda ale trochę nie ogarniam, co z czym i gdzie. Mógł by mi ktoś wytłumaczyć po kolei co robić?

Najpierw tworze plik .htaccess z zawartością
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} -s [OR]
  3. RewriteCond %{REQUEST_FILENAME} -l [OR]
  4. RewriteCond %{REQUEST_FILENAME} -d
  5. RewriteRule ^.*$ - [NC,L]
  6. RewriteRule ^.*$ index.php [NC,L]
?
Dalej co? Chcę zrobić sobie routing np. dla /Index/Index lub do Index/Post/id/7 gdzie i co ma umieścić żeby routing działał. Z góry dziękuje o objaśnienie tego problemu.
Pozdro
Go to the top of the page
+Quote Post
skowron-line
post 27.11.2011, 21:00:02
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Route to zupełnie inna bajka, nie ma nic wspólnego z mod_rewrite
http://framework.zend.com/manual/en/zend.c...ler.router.html
a dla przykładu.

Kod
routes.messageEdit.route = "index/:id/"
routes.messageEdit.defaults.controller = index
routes.messageEdit.defaults.action = edit
routes.messageEdit.reqs.id = "([0-9]+)"


i bootstrap

  1. public function _initRoute()
  2. {
  3. $this->bootstrap('frontcontroller');
  4. $router = $this->getResource('frontcontroller')->getRouter();
  5. $router->addConfig(new Zend_Config_Ini(APPLICATION_PATH . '/configs/route.ini'), 'routes');
  6. }


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
amii
post 28.11.2011, 12:57:45
Post #3





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

Ostrzeżenie: (0%)
-----


W skrócie routing przepisuje Ci adresy na kontrolery i akcje, czyli możesz sobie tworzyć dowolne adresy np. takie:
domena.pl/alkomat.html
domena.pl/filtr.html
domena.pl/alkomat/44

routes.alkomat.route = "alkomat.html"
routes.alkomat.defaults.controller = "index"
routes.alkomat.defaults.action = "alkomat"

routes.filtr.route = "filtr.html"
routes.filtr.defaults.controller = "index"
routes.filtr.defaults.action = "filtr"

routes.alkomat_id = "Zend_Controller_Router_Route_Regex"
routes.alkomat_id.route = "alkomat/:id"
routes.alkomat_id.defaults.controller = "index"
routes.alkomat_id.defaults.action = "alkomatid"
routes.alkomat_id.reverse = "alkomat/%d"
routes.alkomat_id.map.1 = "id"

W akcji alkomatid odczytujesz sobie np. id i pobierasz odpowiedni rekord z bazy.

W kontrolerze przekazujesz dane z bazy do widoku (wcześniej tworzysz model do operowania na tabeli w bazie danych zf create db-table alkomaty Alkomaty):
$table = new Alkomaty();
$this->view->alkomaty = $table->fetchAll();


Linki do akcji w widoku generujesz w ten sposób (klucze w tablicach odpowiadają nazwą kolumn w bazie danych):
<a href="<?php echo $this->url(array('id' => $alkomaty['id']), 'alkomatid') ?>"><? echo $alkomaty['nazwa'] ?></a>


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 06:34