對於某些項目而言,會存在前臺和後臺兩個部分,其中會存在能夠公用的model部分,php
如何作到讓先後臺共用同一套model,這裏作了嘗試,而且得到了成功,分享一下經驗:web
一、項目結構以下:app
二、改寫web下admin和web中index.php的配置this
(1)將system和application的路徑改寫成如今的結構(以下),admin下的application的路徑配置到admin下
code
$system_path = '../../system'; $application_folder = '../../application/web';
(2)增長共用model的路徑,這裏認爲兩個application都訪問application/web下的model,ci
在index.php中增長以下代碼,因爲共用同一套model,因此兩個文件中的下面增長的代碼都如出一轍it
$model_folder = '../../application/web'; if (is_dir($model_folder)){ define('MODELPATH', $model_folder.'/'); }else{ if ( ! is_dir(BASEPATH.$model_folder.'/')){ exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF); } define('MODELPATH', BASEPATH.$model_folder.'/'); }
三、改寫system中,指向model的路徑io
找到system/core/Loader.php,將上面那行代碼替換成下面那行的代碼class
// $this->_ci_model_paths = array(APPPATH); $this->_ci_model_paths = array(MODELPATH);
四、以後其它的model調用和不共用的model一致後臺
$this->load->model('user_model'); $login_return = $this->user_model->check_from('web');
以上就是全部共用model的方法