2010-04-11 9 views
7

Questa è una specie di domanda accademica, quindi sentitevi liberi di uscire ora. Ho avuto uno scavo attraverso la pila per le discussioni relative alla mappatura URL/Controller framework MVC - in particolare questo:Strategie di mappatura degli URL Controller (PHP)

PHP Application URL Routing

Finora, posso constatare due pratiche:

1: dinamici mappatura attraverso parsing della stringa URL (esplosa su '/')

2: pattern matching corrispondenti url di file di configurazione che contiene percorsi

volevo ottenere un feedback (o link a qualche altro Filetto ds/articoli) da persone riguardo le loro opinioni su come meglio affrontare questo compito.

+2

Qual è la tua domanda? Hai dato la tua ricerca e le tue prove, ma nessuna domanda? –

+0

Chiedo feedback sui metodi di associazione degli URL ai controller, sia dalla base utenti StackOverflow, sia facendo riferimento ad altri articoli/thread che hanno trovato utili. – sunwukung

risposta

4

È possibile combinare entrambe le opzioni. La maggior parte dei framework lo fa per gestire la mappatura degli URL. Il primo è il default e il secondo è l'alternativa. Un framework php che lo utilizza è Zend. puoi controllare zend_router per maggiori dettagli.

+1

grazie per la risposta. la mia esperienza con ZF è la ragione per cui sto sperimentando questo metodo - ma la classe del router è un po 'impenetrabile per me se sono onesto. Ho fatto ricorso ad alcune semplici analisi delle stringhe e posso implementare un fallback del file di configurazione dopo il tuo feedback. – sunwukung

0

Io uso la prima opzione.

www.mysite.com/section1

questo sarà esploso e in un unico file che sarà verificare se un controller di nome section1 si trova sul server se è allora io uso che di capire che cosa è supponiamo per succedere se non ci sono controller, allora cerco di vedere se c'è un file statico con questo nome e di farlo funzionare se lo script non riesce ancora a trovare qualcosa che serve una pagina 404 con alcune informazioni utili. Questo ha funzionato bene per me e mi dà un sacco di controllo su come il sito reagisce a diverse situazioni.