Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]ROUTING hostname
kielich
post
Post #1





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Witam,
próbuje zrobić tzw. WILD CARD poprzez routing (hostname)
I nie działa , ktoś może jest w stanie mi pomóc (IMG:style_emoticons/default/questionmark.gif) !

O to kod

  1. $router = new Zend_Controller_Router_Route(':controller/:action/*', array('controller' => 'index','action' => 'index'));
  2.  
  3. $accountRoute = new Zend_Controller_Router_Route_Hostname(':account.localhost/projekt', array('module' => 'account',), array('account' => 'link',));
  4.  
  5. $router->addRoute('account', $accountRoute->chain($router));
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
quality
post
Post #2





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


Nie "wildcars", tylko "wildcard". Na localhost nie zrobisz latwo wildcard (IMG:style_emoticons/default/smile.gif) . Musisz miec serwer dns itp (IMG:style_emoticons/default/smile.gif) . Do testow mozesz wpiswac w plik /etc/hosts (w zalezonosci od systemu inne miejsce) dana domene oraz lokalne ip.

Np:
127.0.0.1 www.cms.localhost.pl cms.localhost.pl

Wtedy wszystko bedzie kierowalo do twojego serwera. Musisz rowniez dodac wirtualny host w apachu (IMG:style_emoticons/default/smile.gif)

Po drugie dlaczego masz w route host ":module" ? Czy masz modul "asd" ? wpisujac ten link ?

Ja hostname i uzytwkonikow mam tak:
  1. $usersOne = new Zend_Controller_Router_Route(
  2. ':action/*',
  3. array('module' => 'default','controller' => 'Uzytkownik','action' => 'show'));
  4.  
  5. $users = new Zend_Controller_Router_Route_Hostname(
  6. ':users.localhost.pl',
  7. array(),
  8. array('users' => '([a-z0-9]+)',)
  9. );
  10.  
  11. $router->addRoute('users', $users->chain($usersOne));


Router ten zawsze uruchamia kontroler uzytkownik, paramert user => nazwa usera, i dalej akcja i dodatkowe parametry.


Po trzecie Zend_Controller_Router_Route_Hostname to nie jest wildcard. Wildcard to jest usluga serwera, Zend tylko zmienia adres w odpowiednie zadanie $_REQUEST.
Dokladniej przekierowywuje ona wszystkie adresy ( subdomeny ) na glowny adres serwera, dzieki temu mozemy operowac wewnatrz aplikacji pobierajac adres.

A po 4 jesli planujesz robic na tym uzytkownikow, tzn ze tez pewnie logowanie. Zeby to zrealizowac musisz ustawic odpowiednio ciasteczka :
  1. Zend_Session::setOptions(array('cookie_domain' => '.localhost.pl'));


Wazna tutaj jest wlasnie ta kropka przed adresem (IMG:style_emoticons/default/smile.gif)

Pozdrawiam i zycze udanej zabawy (IMG:style_emoticons/default/smile.gif)

Ten post edytował quality 9.08.2010, 09:17:54
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 11:03