DefaultController в Yii.Вопрос именования - PullRequest
0 голосов
/ 14 июля 2011

Я создаю два модуля для фреймворка Yii с помощью gii.Каждый модуль создает свой собственный класс контроллера по умолчанию с именем «DefaultController».

Но я думаю, что это неправильно, я считаю, что он должен быть «Module1_DefaultController» и «Module2_DefaultController», как Zend framework.

Это правда??Если да, то как переименовать контроллеры?

Ответы [ 3 ]

1 голос
/ 14 июля 2011

Файл с классом DefaultController не будет включен в Yii, если вы не запросите некоторые действия из этого модуля. Это предотвратит ошибку дублирующегося имени класса (что, я полагаю, вы подозреваете) , поскольку нельзя одновременно вызывать два действия модуля (это сделано) .

1 голос
/ 14 июля 2011

DefaultController будет просто вызываться, когда вы звоните yoursite/yourmodule.Вам не нужно менять его имя, чтобы оно работало.

Причина, по которой вы не переименовываете контроллер, заключается в том, что вы фактически не вызываете сам контроллер при переходе на ваш сайт / ваш модуль.Вы идете в корень модуля и получаете контроллер по умолчанию.Вот почему вам нужно определить модуль внутри config : чтобы Yii знал, что ему нужно искать модуль вместо контроллера.

Конечно, вы можете создать больше контроллеров внутри этого модуля.

0 голосов
/ 15 июля 2011

DefaultController, созданный Yii, не является неправильным, потому что, когда вы импортируете его из другого модуля или класса, вы импортируете пакет «Нравится» в Java. Так должно быть

Yii::import('application.modules.module1.controllers.DefaultController');

Я считаю, что Yii был похож на Java в дизайне package и class.

...