Yii中的DefaultController。命名问题

时间:2011-07-14 13:36:21

标签: yii modular

我使用gii为Yii框架创建了两个模块。每个模块都创建自己的默认控制器类,名为“DefaultController”。

但我认为它错了,我认为应该像Zend框架一样“Module1_DefaultController”和“Module2_DefaultController”。

这是真的吗? 如果是这样,如何重命名控制器?

3 个答案:

答案 0 :(得分:1)

拨打DefaultController时,只会调用

yoursite/yourmodule。您无需更改其名称即可使其正常工作。

不重命名控制器的原因是,在转到yoursite / yourmodule时,您实际上并没有调用控制器。您将转到模块根目录并获取默认控制器。这就是为什么你需要定义module inside config:让Yii知道它需要寻找模块而不是控制器。

当然,您可以在此模块中创建更多控制器。

答案 1 :(得分:1)

除非您从该模块请求某些操作,否则Yii不会包含具有DefaultController类的文件。这样可以防止重复的类名错误(我猜你怀疑),因为不能同时调用两个模块操作(这是设计)

答案 2 :(得分:0)

由Yii创建的DefaultController没有错,因为当你从另一个模块或类中导入它时,你将导入它像Java中的包。它应该是这样的

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

我认为Yii在packageclass的设计中与Java类似。