在Controller构造函数中加载CodeIgniter模型

时间:2012-10-18 22:47:24

标签: php codeigniter

来自C#/。NET MVC 3/4,我并不习惯CodeIgniter的模型实现。

文档显示了在控制器方法中加载的模型,但是我几乎在每个方法中使用该模型,而我的模型通过其构造函数将属性中使用的数据存储在属性中。

有没有理由不在我忽略的控制器构造函数中实例化模型?

2 个答案:

答案 0 :(得分:6)

您也可以按照以下方式加载模型: 意味着如果您的模型在任何文件夹中,那么使用以下代码可以在控制器中加载模型。

$this->load->model('modelFolder/' . $this->controller . '_model');

例如。 : 如果您的模型名为“modelFolder”,请执行以下操作:

 class demoController extends CI_Controller {

        var $controller = "user";    

        /* Local Constructor Will Be Overriding The One In The Parent Controller Class So We Need To Manually Call It. */

        public function __construct() {
            parent::__construct();        
                $this->load->model('modelFolder/' . $this->controller . '_model');
                $this->load->model('common_model');         
              }
    }

希望它能帮到你......

答案 1 :(得分:5)

没有理由不为每个控制器激活加载模型。它甚至可以放在所有控制器的configuration's autoload中。

不总是加载它的唯一原因是许多操作不需要模型。然后你可以节省一点记忆和时间。