2013-02-16 107 views
0

我想推广我的代码中的模型名称。复制动态创建的变量

我已经创建了一个父控制器,它可以自动加载与控制器类名相匹配的模型。

但是,当模型加载时,它具有模型的名称。前; $this->load->model('some_model') creates $this->some_model

我想要做的是创建变量$ this-> model来取代$this->some_model

我宁愿不更改核心代码,所以我希望有一些PHP解决方案可以在我的父控制器中使用。

我试过,没有运气以下:

$this->load->model($model_name); 
$this->model = ${ $model_name }; 

这会返回一个错误$this->model_name undefined

照顾, 李

回答

2

如果你想分配给不同的对象名称的模型,你可以通过加载功能的第二个参数指定:

$this->load->model('Model_name', 'fubar'); 
$this->fubar->function(); 

http://ellislab.com/codeigniter/user-guide/general/models.html#what

+0

谢谢。甚至没有跨过我的脑海,这将是一个选择。 – 2013-02-16 00:51:34

+1

我想你已经掌握了它,但这也可能有用:http://www.codebyjeff.com/blog/2012/11/the-naming-of-things-writing-more-dynamic-码 – jmadsen 2013-02-16 00:56:52