“一些常用的功能,如用户管理,评论管理,可能会根据模块进行开发,以便它们可以在未来的项目中轻松重复使用。” - http://www.yiiframework.com/doc/guide/1.1/en/basics.module模块依赖关系和关系
我有很多需要用户的项目。每次都有相同的数据库结构和功能。注册,登录,注销等。 Yii告诉我,我可以重用模块。酷...让我们开始吧:
我有3个部分:用户,市场活动和网站。
在该项目中的CampaignModule具有与UserModule的关系(campaign_user [USER_ID,CAMPAIGN_ID])
的WebsiteModule具有相对于所述CampaignModule和所述UserModule。
我想重用与像注册功能,在其他项目中UserModule,登录,编辑等
实际情况: 与GII创建模型每个人都有跨模块关系和依赖关系之后。 例如
UserModule: 'campaigns' => array(self::HAS_MANY, 'Campaign', 'user_id'),
要使用WebsiteModule,需要包含User-和CampaignModule。 现在我甚至必须包含Website-和CampaignModule才能使用UserModule!
我也想更新许多项目的UserModule,也许建立一个基本模块的框架。
什么是正确的方式来规划这样的架构?
这是一个很好的关系解决方案。但我仍然有一个问题找到模块的全球解决方案。如果WebsiteModule具有WebsiteRatingModel,我不想在我的应用程序或其他模块中使用WebsiteRating :: model() - > ...。我想通过一个接口或一种API与模型进行通信。编写Yii :: app() - > getModule('website') - > website-> getWebsiteRating(123)不是最好的主意......( - >网站是在模块init()中设置的组件集合) –