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

本文介绍了一种在前后端分离的项目结构中,实现前后台共用一套Model的方法。通过调整项目目录结构及配置,使得不同的应用可以共享相同的业务逻辑层,提高代码复用率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/snow-finland/p/4846964.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值