Php 模块依赖关系
“一些常用功能,如用户管理、评论管理,可按模块开发,以便在未来项目中轻松重用。”- 我有很多需要用户的项目。每次都是完全相同的数据库结构和功能。注册、登录、注销等。 Yii告诉我我可以重用模块。酷。。。让我们开始: 我有三个部分:用户,活动和网站 在此项目中,活动模块与用户模块(活动用户[user\u id,campaign\u id])有关系 WebItemModule与活动模块和用户模块有关系 我想在其他项目中重用UserModule,这些项目具有注册、登录、编辑等功能 实际情况: 使用gii创建模型后,每个模块之间都有关系和依赖关系。 e、 g 要使用WebItemModule,必须包括用户和活动模块。 现在我甚至必须包括网站和活动模块才能使用UserModule 我还想跨多个项目更新UserModule,并可能使用一些基本模块构建一个框架 规划这样的体系结构的正确方法是什么 它们的作用是允许您在模块配置上为用户模型指定其他关系:Php 模块依赖关系,php,yii,architecture,module,Php,Yii,Architecture,Module,“一些常用功能,如用户管理、评论管理,可按模块开发,以便在未来项目中轻松重用。”- 我有很多需要用户的项目。每次都是完全相同的数据库结构和功能。注册、登录、注销等。 Yii告诉我我可以重用模块。酷。。。让我们开始: 我有三个部分:用户,活动和网站 在此项目中,活动模块与用户模块(活动用户[user\u id,campaign\u id])有关系 WebItemModule与活动模块和用户模块有关系 我想在其他项目中重用UserModule,这些项目具有注册、登录、编辑等功能 实际情况: 使用gi
/**
* @return array relational rules.
*/
public function relations()
{
$relations = Yii::app()->getModule('user')->relations;
if (!isset($relations['profile']))
$relations['profile'] = array(self::HAS_ONE, 'Profile', 'user_id');
return $relations;
}
因此,您可以执行以下操作:
'modules'=>array(
'user' => array(
...
'relations' => array(
'categories' => array(CActiveRecord::HAS_MANY, 'Category', "user_id"),
'account' => array(CActiveRecord::HAS_ONE, 'Account', "user_id"),
),
...
),
),
这是解决两国关系的好办法。但我仍然有一个问题,即如何为模块找到一个全局解决方案。如果WebItemModule有一个WebIteratingModel,我不想使用WebIterating::model()->。。。在我的应用程序或其他模块中。我希望通过接口或某种api与模型通信。编写Yii::app()->getModule('website')->website->getWebsiteRating(123)不是最好的主意。。。(->网站是模块init()中的组件集)
'modules'=>array(
'user' => array(
...
'relations' => array(
'categories' => array(CActiveRecord::HAS_MANY, 'Category', "user_id"),
'account' => array(CActiveRecord::HAS_ONE, 'Account', "user_id"),
),
...
),
),