2013-02-16 93 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