MyTetra Share
Делитесь знаниями!
О, смотри-ка какое хорошее место. Дайте два!
Что такое маршрут в фреймверке Yii
27.09.2014
23:04
Текстовые метки: Yii, маршрут, маршрутизация
Раздел: Компьютер - Программирование - Язык PHP - Yii

Что такое маршрут в фреймверке Yii

Для начала нужно знать, что во фремверке Yii есть контроллеры и действия. Через URL в строке браузера можно обратиться к конкретному действию конкретного контроллера.

Пример:

http://hostname/index.php?r=message/edit

При переходе на данный URL будет вызвано действие edit контроллера message. Названия edit и message - это идентификаторы действия и контроллера. Переменная r обозначает, что используется механизм роутинга (маршрутизации).

Итак, контроллеры и действия опознаются по их идентификаторам.

Идентификатор контроллера — это запись формата path/to/xyz, соответствующая файлу класса контроллера protected/controllers/path/to/XyzController.php, где xyz следует заменить реальным названием класса (например, message соответствует protected/controllers/MessageController.php).

Идентификатор действия — это название метода без префикса action. Например, если класс контроллера содержит метод actionEdit, то идентификатор соответствующего действия — edit.

Пользователь обращается к контроллеру и действию посредством маршрута (route). Маршрут формируется путём объединения идентификаторов контроллера и действия, отделенных косой чертой. Например, маршрут message/edit указывает на действие edit контроллера MessageController, и по умолчанию URL http://hostname/index.php?r=message/edit приведёт к вызову именно этих контроллера и действия.

Примечание: По умолчанию маршруты чувствительны к регистру. Это возможно изменить путём установки свойства CUrlManager::caseSensitive равным false в конфигурации приложения. В режиме, не чувствительном к регистру, убедитесь, что названия директорий, содержащих файлы классов контроллеров, указаны в нижнем регистре, а также, что controller map и action map используют ключи в нижнем регистре.

Приложение может содержать модули. Маршрут к действию контроллера внутри модуля задаётся в формате moduleID/controllerID/actionID. Более подробно это описано в разделе о модулях.

Так же в этом разделе:
← Содержание ...
 
MyTetra Share v.0.35
Яндекс индекс цитирования