0

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

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

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

4

3 回答 3

1

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

于 2011-07-14T18:24:47.337 回答
1

DefaultController当您调用yoursite/yourmodule. 您无需更改其名称即可使其正常工作。

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

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

于 2011-07-14T15:32:44.290 回答
0

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

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

我相信 Yii 在 和 的设计上package与Java 类似class

于 2011-07-15T02:50:51.407 回答