【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的方法

相关文章
相关标签/搜索