Компонент маршрутизації дозволяє визначати маршрути, які будуть прив'язані до контролерів, або обробникам для отримання запиту. Маршрутизатор просто розбирає 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 і використовує його, ігноруючи інші.
іменовані параметри¶
У прикладі нижче показано, як визначити імена для параметрів маршрутів:
Зверніть увагу, що значення параметрів виходять з диспетчера. Це відбувається тому, що це компонент, який, безпосередньо запускає в роботу вашу програму. Крім того, існує й інший спосіб створювати іменовані параметри, наприклад, як частина правила маршрутизації:
Ви можете отримати доступ до їх значень так само, як раніше: