2013-03-15 16 views
5

Ich habe gerade mit ZF2 begonnen und ich bin sehr verwirrt mit Zend Skeleton Application. In der gegenwärtigen Situation URl wie folgt aussieht:Zend Framework 2 reale Welt Anwendung Dateistruktur

http://localhost/zf2/public/ 

Und für ein Modul Anwendung es sieht aus wie genannt:

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

und die Aktionen geht nach dem Modulnamen. ich will mit Admin-Panel und Benutzer Panel ein CMS erstellen. Und das ist, warum ich meine URL wollen für die Nutzer wie sein:

http://localhost/zf2 

und für Server-Betreiber wie:

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

Also, meine Frage ist, wie ich URL wie diese erstellen bin soll?

+0

Haben Sie es mit dem Router versucht ?. Ich weiß nicht über Zf2, aber das kann sicherlich durch Zend-Router in ZF1 getan werden ?? – codisfy

+1

http://framework.zend.com/manual/2.1/de/modules/zend.mvc.routing.html bietet die Grundlagen. – RockyFord

Antwort

1

Ihre URL-Beispiele sehen so aus, als würden Sie das öffentliche Verzeichnis und die Controller-Routen verwechseln. Sie sollten normalerweise keine URL wie diese haben:

http://localhost/zf2/public/ 

Stattdessen sollten Sie in der Regel einen vhost verwenden. Es gibt zahlreiche Möglichkeiten, dies zu tun, aber im Allgemeinen läuft es entweder auf einen benutzerdefinierten Port oder einen benutzerdefinierten Hosteintrag hinaus, wenn Sie einen benannten vhost haben möchten. Dann wird Ihre URL für die öffentlichen wie eine dieser beiden Optionen aussehen:

http://localhost:9000/ 

oder

http://myapp.local/ 

Wenn Sie mit PHP 5.4, in der Entwicklungsumgebung, die mit Abstand einfachste Weg, einen Host zu starten Verwenden Sie den integrierten PHP 5.4-Server. Sie, dass, wie dies auf der Kommandozeile aus dem Projekt root starten (das macht das öffentliche Verzeichnis des Web-Root des temporären Web-Servers auf Port 9000 von localhost):

php -S localhost:9000 -t public 

Sobald Sie Ihre Web-Server-Konfiguration haben aussortiert, wird das Skelett App automatisch Ihre uRL Routen (Standard) wie folgt interpretieren:

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

Wenn Sie den Standardindex auf dem index~~POS=TRUNC in dem Skelett-App im vollen wörtlichen Weg bringen wollen, es sieht so:

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