Где маршруты для Gii определены в рамках Yii? - PullRequest
2 голосов
/ 24 декабря 2011

Я создал приложение Yii в webroot.Я включил модуль Gii и изменил .htaccess, чтобы удалить часть index.php в URL.

У меня также есть компонент urlManager, определенный в файле конфигурации config / main.php.1005 *

Когда я ввожу http://www.mydomain.com/gii в браузере, меня перенаправляют на http://www.mydomain.com/gii/default/login.

Очевидно, что в urlManager нет соответствующего URL rules.Означает ли это, что когда Yii не может найти какое-либо соответствующее правило URL-адреса, он начнет искать соответствующий модуль?

Ответы [ 2 ]

4 голосов
/ 28 декабря 2011

bobo, да, похоже, Yii начинает просматривать подходящие модули:

<code>yii/framework/gii/GiiModule.php, Line 43
* http://localhost/path/to/index.php?r=gii
*
* If your application is using path-format URLs with some customized URL rules, you may need to add
* the following URLs in your application configuration in order to access GiiModule:
* <pre>
* 'components'=>array(
*     'urlManager'=>array(
*         'urlFormat'=>'path',
*         'rules'=>array(
*             'gii'=>'gii',
*             'gii/<controller:\w+>'=>'gii/<controller>',
*             'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>',
*             ...other rules...
*         ),
*     )
* )
* 

Похоже, что он начинается с нормальных правил, а затем переходит к попытке дополнительных модулей (и их контроллера / действий) после этого. Кажется, в качестве первой части всего этого используется идентификатор модуля (в данном случае gii).

Что касается дальнейших исследований, да, это так. Для получения дополнительной информации см. страницу модуля Yii .

0 голосов
/ 27 декабря 2011

Что ты имеешь в виду ??Gii - это модуль, и URL-адрес правильный, у вас есть значение по умолчанию, потому что свойство defaultController в CWebModule - «default», вы можете расширить Gii и настроить его, если хотите.

...