您的位置:首页 > 移动开发

【CI 框架】CI框架两个application共用同一套model

2015-09-15 11:14 507 查看
对于某些项目而言,会存在前台和后台两个部分,其中会存在可以公用的model部分,

如何做到让前后台共用同一套model,这里做了尝试,并且获得了成功,分享一下经验:

1、项目结构如下:



2、改写web下admin和web中index.php的配置

(1)将system和application的路径改写成现在的结构(如下),admin下的application的路径配置到admin下

$system_path = '../../system';
$application_folder = '../../application/web';


(2)增加共用model的路径,这里认为两个application都访问application/web下的model,

在index.php中增加如下代码,由于共用同一套model,所以两个文件中的下面增加的代码都一模一样

$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.'/');
}


3、改写system中,指向model的路径

找到system/core/Loader.php,将上面那行代码替换成下面那行的代码

// $this->_ci_model_paths = array(APPPATH);
$this->_ci_model_paths = array(MODELPATH);


4、之后其它的model调用和不共用的model一致

$this->load->model('user_model');
$login_return = $this->user_model->check_from('web');


以上就是所有共用model的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: