我有以下结构:
modules/group
modules/group/modules/forum
modules/group/modules/gallery
modules/group/modules/events
这是组织组的正确方法吗?或者更好
modules/group
modules/group/controllers/ForumController.php
modules/group/controllers/GalleryController.php
modules/group/controllers/EventsController.php
还有一个问题。我需要在组模块下的所有动作控制器组对象,我不想在所有控制器中编写以下代码
$group = Group::model()->findByPk($_GET['idgroup']);
url如下:
/group/<idgroup>/forum/<idforum>
/group/<idgroup>/gallery/<idgallery>
正确的方法是什么?
这是正确的结构方式吗组吗?
答案取决于以下几点:
- 您是否从第三方拉论坛,画廊和活动模块?
- 论坛、画廊和事件是否包含自己的模型、视图和控制器?
- 你打算制作论坛,画廊和事件独立模块,其他人可以在他们的Yii应用程序中使用?
如果是以上任何一个,那么是的,将它们放入它们自己的模块中是有意义的。否则,最好将它们添加到group
模块中。
根据Yii文档:
模块是一个自包含的软件由模型、视图、控制器和其他支持组件。
关于将组对象添加到所有控制器动作,通常我会为我的模块(如/group/components/GroupController.php
)添加一个基本控制器类,并扩展该控制器,而不是我所有控制器中的基础控制器。GroupController
应该扩展Yii的CController
,并包含您想要从模块的控制器访问的组对象。