haoshaoyee 发表于 2013-2-22 11:07:16

模型里如何实现其他模型的按需加载

lunux2008的方法可实现在控制器里对模型和类的按需加载 既然控制器实现了 那为了统一 并且也同样为了提高效率与性能 模型里也这样做何乐而不为呢 试了下
创建一个 基础model叫 m_model 其他model继承它
但无论 用 __get方法 还是 创建一个公共方法
function($name) {
    if(!isset($this->$name)){
      $this->load->model($name);
    }
    return $this->$name;
}
可惜这样不行,如果控制器调用了模型的一个方法 这个方法里用到这个函数 那么$this关键字就指向控制器类了,报错 .

怎么解决这个问题呢
想要实现的效果就是这样   
在模型里调用其他模型    $this->模型->方法 如果模型未加载就自动加载并返回这个模型或者不用__get方法 用一个普通方法命名model    $this->model(模型字符串参数)->方法实现这样也可以

哪位大神能实现
页: [1]
查看完整版本: 模型里如何实现其他模型的按需加载