2010-04-11 15 views
7

Dies ist eine Art akademische Frage, also zögern Sie nicht, jetzt zu beenden. Ich habe für Themen im Zusammenhang mit URL/Controller-Mapping in MVC-Frameworks eine Grabung durch Stapel hatte - insbesondere diese:URL Controller Mapping Strategien (PHP)

PHP Application URL Routing

Bisher habe ich zwei Praktiken feststellen kann:

1: dynamisch Mapping durch das URL-Zeichenfolge Parsen (explodierte auf ‚/‘)

2: Übereinstimmungsmuster-URL-Konfigurationsdatei enthält verfügbare Routen

ich ein Feedback (oder Links zu einem anderen threa passend bekommen wollte (ds/articles) von Leuten bezüglich ihrer Ansichten darüber, wie man diese Aufgabe am besten angehen kann.

+2

Was ist Ihre Frage? Sie haben Ihre Forschung und Ihre Versuche gegeben, aber keine Frage? –

+0

Ich frage nach Feedback zu Methoden zum Zuordnen von URLs zu Controllern, entweder aus der StackOverflow-Benutzerbasis oder durch Verweis auf andere Artikel/Threads, die sie für nützlich befunden haben. – sunwukung

Antwort

4

Sie können beide Optionen kombinieren. Die meisten Frameworks verwalten die URL-Zuordnung. Der erste ist der Standard und der zweite ist die Alternative. Ein PHP-Framework, das es verwendet, ist Zend. Sie können zend_router für weitere Details besuchen.

+1

danke für die Antwort. meine Erfahrung mit ZF ist der Grund, warum ich mit dieser Methode experimentiere - aber es ist Router-Klasse für mich ein wenig undurchdringlich, wenn ich ehrlich bin. Ich habe auf ein einfaches String-Parsing zurückgegriffen und kann nach Rückmeldung ein Config-File-Fallback implementieren. – sunwukung

0

Ich benutze Ihre erste Option.

www.mysite.com/section1

diese aufgelöst werden, und ich werde prüfen, in einer Datei, wenn ein section1 namens Controller auf dem Server ist, wenn es so ist, dass ich verwenden, um herauszufinden, was ist wohl Wenn es keinen Controller gibt, dann schaue ich nach, ob es eine statische Datei mit diesem Namen gibt und diene, wenn das Skript immer noch nichts finden kann, da es eine 404-Seite mit nützlichen Informationen versorgt. Das hat mir sehr gut getan und gibt mir viel Kontrolle darüber, wie die Seite auf verschiedene Situationen reagiert.