Маршрутизація (routing, роутинг) - документація phalcon 3

Компонент маршрутизації дозволяє визначати маршрути, які будуть прив'язані до контролерів, або обробникам для отримання запиту. Маршрутизатор просто розбирає URI для визначення інформації. Маршрутизатор має два режими: MVC режим і режим збіги. Перший режим ідеально підходить для роботи з MVC додатками.

визначення маршрутов¶

Phalcon \ Mvc \ Router надає розширені можливості маршрутизації. У MVC режимі ви можете визначити маршрути і направити їх на контролери / дії, які вам потрібні. Маршрути визначаються наступним чином:

Метод add () приймає в якості першого параметра шаблон посилання, другим параметром настройки цього маршруту. В цьому випадку, якщо URI відповідає / admin / users / my-profile, і буде виконаний контролер "users", а в ньому дію "profile". Маршрутизатор не виконує дію контролера, він тільки збирає цю інформацію, щоб повідомити правильні параметри в компонент Phalcon \ Mvc \ Dispatcher.

Додаток може мати безліч маршрутів, визначення їх по одному може бути досить трудомістким завданням. У таких випадках ми можемо створювати більш гнучкі маршрути:

У прикладі, наведеному вище, за допомогою групових елементів ми робимо маршрут відповідним для безлічі посилань. Наприклад, при отриманні URL (/ admin / users / a / delete / dave / 301), маршрутизатор розбере його в:

Перевіряє відповідність цифрового формату

Назви контролерів "camelized", це означає, що символи (-) і (_) видаляються, і наступний після них символ перетворюється в верхній регістр. Наприклад, some_controller перетворюється в SomeController.

Оскільки ви можете використовувати безліч маршрутів, додаючи їх методом add (), порядок, в якому маршрути додаються вказує їх актуальність, останні додані маршрути мають більший пріоритет, ніж додані раніше. Усередині все певні маршрути переміщуються в зворотному порядку, поки Phalcon \ Mvc \ Router не знайдеться той, який відповідає даному URI і використовує його, ігноруючи інші.

іменовані параметри¶

У прикладі нижче показано, як визначити імена для параметрів маршрутів:

Зверніть увагу, що значення параметрів виходять з диспетчера. Це відбувається тому, що це компонент, який, безпосередньо запускає в роботу вашу програму. Крім того, існує й інший спосіб створювати іменовані параметри, наприклад, як частина правила маршрутизації:

Ви можете отримати доступ до їх значень так само, як раніше: