我在CodeIgniter中有四个模型用于我正在构建的论坛:
forum_model
category_model
user_model
subject_model
我希望访问论坛模型中的类别,用户和主题模型(即:按用户/类别/主题浏览主题)但是它们需要独立于各个功能(即:添加用户/主题/类别)< / p>
还有更多的独立功能,基本上我想知道的是,如果创建一个'主'论坛模型是不好的做法(以及创建模型的最佳方法是什么),或者我应该只是做链接在控制器?
我正在考虑像这样设置forum_model:
class Forum_model extends CI_Model {
function __construct() {
parent::construct();
$this->load->model('Category_model', 'category');
$this->load->model('User_model', 'user');
$this->load->model('Subject_model', 'subject');
}
}
然后可能使用变量$this->$model->method()
答案 0 :(得分:3)
在2.1.0中,未在模型范围中定义的任何属性(即模型引用,库等)将神奇地访问CI超级对象:
<?php
function __get($key)
{
return get_instance()->$key;
}
因此,只要您的论坛模型中没有$category
$user
或$subject
成员变量,这应该可行。
然而,通常在MVC中对于不相互了解的模型是一种很好的做法。我提醒你不要让你的论坛模型像控制器或库一样运行(否则,它应该是一个控制器或一个库!)。