CI框架项目开发 - API路径配置

当需要和其他系统对接的时候,需要定义API 地址,一般都是保存在配置文件中的。一个较正规的项目开发都有开发环境、测试环境,已经上线后的生产环境,这时候不同的人员使用的环境也是不样的,需要配置路径。

如何方便的配置与切换API地址是此刻讨论的目标。

方案一:配置在数据库中,每个环境都有自己的数据库,给API配置不同的值,就可以区分开来。一般而言不会去改变他,不用担心用户忘记切换地址导致访问到线上环境。

 

方案二:写在配置文件中(定义为常量,全局访问),只配置当前环境对应的API地址,配置文件从SVN中移除,用户必须在服务器上手动配置,同样需要导服务器上才能看到地址信息,只是修改起来比较麻烦(当然修改也是一劳永逸的)。

 

方案三:写在配置文件中(定义为常量,全局访问),配置所有环境API地址,配置文件从SVN中移除。就是下面这种,用户只需要定义环境变量(开发/测试/产品),一般都是已经配置好了的。用户可以直观地看到所有API的配置,相对而言安全性不是很好。API地址随环境变量的改变而自动变化。

实例: 

<?php
/**
 * @Author:   Jolon
 * @Date  :   2018-12-13 13:39:45
 * @Last  Modified by:   Jolon
 * @Last  Modified time: 2019-01-05 16:00:16
 */

//定义环境的变量 test 测试 ,   prod:生产环境, dev : 开发者环境
defined('CG_ENV') OR define('CG_ENV', 'dev');// test/prod/dev

/************************************* 接口主机名定义 *************************************/
if(CG_ENV == 'dev')  //开发环境
{
    defined('CG_API_HOST_SYS') OR define('CG_API_HOST_SYS', 'http://127.0.0.1:85');
    defined('CG_API_HOST_LOG') OR define('CG_API_HOST_LOG', 'http://127.0.0.1:86');

}elseif(CG_ENV == 'prod'){  //生产环境

    defined('CG_API_HOST_SYS') OR define('CG_API_HOST_SYS', 'http://www.cg2.com');
    defined('CG_API_HOST_LOG') OR define('CG_API_HOST_LOG', 'http://www.cg2.com');

}else{  //测试环境
    defined('CG_API_HOST_SYS') OR define('CG_API_HOST_SYS', 'http://www.cg3.com');
    defined('CG_API_HOST_LOG') OR define('CG_API_HOST_LOG', 'http://www.cg3.com');

}
<?php
/**
 * 第三方系统对接 API地址
 * @author:Jolon
 * @since : 20190220
 */
// CG_ENV 在 config/conf.php中定义
if(CG_ENV == 'dev'){// 开发环境
    /******************* 采购系统服务器配置 *************/
    $config['cg_system']['webfornt']['ip']                    = CG_SYSTEM_WEB_FRONT_IP;
    $config['cg_system']['appdal']['ip']                      = CG_SYSTEM_APP_DAL_IP;
    $config['cg_system']['webfornt']['print_billingcontract'] = CG_SYSTEM_WEB_FRONT_IP.'front/print_template/billingcontract.php';
    $config['cg_system']['webfornt']['print_compact']         = CG_SYSTEM_WEB_FRONT_IP.'front/print_template/contract.php';


}elseif(CG_ENV == 'prod'){  //生产环境
    /******************* 采购系统服务器配置 *************/
    $config['cg_system']['webfornt']['ip']                    = CG_SYSTEM_WEB_FRONT_IP;
    $config['cg_system']['appdal']['ip']                      = CG_SYSTEM_APP_DAL_IP;
    $config['cg_system']['webfornt']['print_billingcontract'] = CG_SYSTEM_WEB_FRONT_IP.'front/print_template/billingcontract.php';
    $config['cg_system']['webfornt']['print_compact']         = CG_SYSTEM_WEB_FRONT_IP.'front/print_template/contract.php';


}else{  //测试环境
    /******************* 采购系统服务器配置 *************/
    $config['cg_system']['webfornt']['ip']                    = CG_SYSTEM_WEB_FRONT_IP;
    $config['cg_system']['appdal']['ip']                      = CG_SYSTEM_APP_DAL_IP;
    $config['cg_system']['webfornt']['print_billingcontract'] = CG_SYSTEM_WEB_FRONT_IP.'front/print_template/billingcontract.php';
    $config['cg_system']['webfornt']['print_compact']         = CG_SYSTEM_WEB_FRONT_IP.'front/print_template/contract.php';

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值