Rutarea (rutare, rutare) - documentația phalcon 3

Componenta de rutare vă permite să definiți rute care vor fi legate de controlori sau de agenții de procesare pentru a primi o solicitare. Router-ul parcurge pur și simplu URI-ul pentru a determina informațiile. Routerul are două moduri: modul MVC și modul de coincidență. Primul mod este ideal pentru lucrul cu aplicațiile MVC.







Definirea rutelor¶

Phalcon \ Mvc \ Router oferă capabilități avansate de rutare. În modul MVC, puteți defini rute și le puteți direcționa către controlorii / acțiunile de care aveți nevoie. Traseele sunt definite după cum urmează:

Metoda add () ia ca prim parametru șablonul de referință, al doilea parametru pentru setarea acestui traseu. În acest caz, dacă URI corespunde cu / admin / users / my-profile, controlerul "users" va fi executat și acțiunea "profile" va fi executată în acesta. Routerul nu efectuează acțiunea controlerului, ci doar colectează această informație pentru a raporta parametrii corecți la componenta Phalcon \ Mvc \ Dispatcher.







O aplicație poate avea mai multe rute, identificându-le una câte una, poate fi o sarcină destul de dificilă. În astfel de cazuri, putem crea rute mai flexibile:

În exemplul de mai sus, folosind elemente de tip wildcard, facem ca traseul să fie potrivit pentru mai multe referințe. De exemplu, dacă adresa URL este primită (/ admin / users / a / delete / dave / 301), router-ul va analiza:

Verifică conformitatea cu un format digital

Numele controlorilor sunt "camelizate", ceea ce înseamnă că caracterele (-) și (_) sunt șterse, iar următorul caracter după ele este convertit la majuscule. De exemplu, some_controller este convertit în SomeController.

Deoarece puteți utiliza mai multe rute prin adăugarea lor cu metoda add (), ordinea în care sunt adăugate rutele indică relevanța acestora, ultimele rute adăugate au o prioritate mai mare decât cele adăugate anterior. Înăuntru, toate rutele specificate sunt mutate în ordine inversă, până când Phalcon \ Mvc \ Router găsește unul care se potrivește cu un URI dat și îl folosește, ignorând restul.

Parametrii numiți¶

Exemplul de mai jos arată modul de definire a denumirilor pentru parametrii de traseu:

Rețineți că valorile parametrilor sunt obținute de la dispecer. Acest lucru se datorează faptului că este o componentă care lansează direct aplicația. În plus, există o altă modalitate de a crea parametrii numiți, de exemplu, ca parte a regulii de rutare:

Puteți accesa valorile lor în același mod ca înainte:







Trimiteți-le prietenilor: