Mi sono occupato dell'idea di creare un sistema di routing come esperienza di apprendimento e non per alcuni scopi di produzione.
Ho provato a decidere quali funzioni sono indispensabili e quali sono le funzionalità meglio gestite altrove in un sistema. Ho creato un breve elenco di funzionalità e vorrei ricevere un feedback su di esso. Ci sono cose che mancano? O c'è qualcosa che è solo puro eccesso? La lista segue:
- Corrispondenza di espressioni regolari contro URI
- Schema di richiesta HTTP corrispondente
- Metodo di richiesta HTTP corrispondente
- Verifica se una richiesta è una richiesta normale o una richiesta AJAX.
Ho scelto di usare le espressioni regolari in modo da avere la possibilità di utilizzare i gruppi di cattura per abbinare un URI dinamico. Per quanto riguarda il surriscaldamento delle espressioni regolari, penso che il peggio possa essere ridotto producendo espressioni intelligenti e corrispondendo solo finché non viene trovata una corrispondenza.