2013-03-15 15 views
5

Właśnie zacząłem z ZF2 i jestem bardzo zdezorientowany z Zend Skeleton Application. W obecnej sytuacji URL wygląda następująco:Zend Framework 2 struktura plików rzeczywistego świata

http://localhost/zf2/public/ 

A dla modułu o nazwie Zastosowanie wygląda:

http://localhost/zf2/public/Application/ 

i działania idzie po nazwie modułu. chcę stworzyć CMS z panelu administratora i panelu użytkowników. I dlatego chcę mój adres URL dla użytkowników, aby być jak:

http://localhost/zf2 

i dla administratora jak:

http://localhost/zf2/admin/Module Name/Actions 

Więc moje pytanie brzmi: Jak mam stworzyć URL takiego?

+0

Wypróbowałeś go używając routera ?. Nie wiem o Zf2, ale można to zrobić z routery Zend w Zf1 ?? – codisfy

+1

http://framework.zend.com/manual/2.1/en/modules/zend.mvc.routing.html zapewnia podstawy. – RockyFord

Odpowiedz

1

Twoje przykłady adresów URL wyglądają, jakbyś mylił katalog publiczny i trasy kontrolera. Nie powinno się zwykle mają url tak:

http://localhost/zf2/public/ 

Zamiast tego powinny być ogólnie stosując vhosta. Istnieje wiele sposobów, aby to zrobić, ale zazwyczaj sprowadza się to do niestandardowego portu lub niestandardowego wpisu hosta, jeśli chcesz mieć nazwanego vhosta. Wtedy twój url do publiczności będzie wyglądać jak jeden z tych dwóch opcji:

http://localhost:9000/ 

lub

http://myapp.local/ 

Jeśli używasz PHP 5.4, w środowisku rozwoju, zdecydowanie najprostszy sposób, aby rozpocząć szereg jest użycie wbudowanego serwera PHP 5.4. Zaczynasz że się tak z linii poleceń z katalogu głównego projektu (to sprawia, że ​​katalog publiczny korzenia internetowej tymczasowego serwera WWW na porcie 9000. swojego localhost):

php -S localhost:9000 -t public 

Gdy masz konfigurację serwera WWW załatwione, aplikacja Szkielet automatycznie interpretować trasy URL (domyślnie), takie jak ten:

http://localhost:9000/some-module/some-controller/some-action 

Jeśli chcesz umieścić w pełnym dosłownym ścieżkę do domyślnego indexAction na IndexController w aplikacji szkielet, to wygląda tak:

http://localhost:9000/application/index/index