【CI 框架】CI框架兩個application共用同一套model

對於某些項目而言,會存在前臺和後臺兩個部分,其中會存在能夠公用的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的方法

相關文章
相關標籤/搜索