对于某些项目而言,会存在前台和后台两个部分,其中会存在能够公用的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的方法