當需要和其他系統對接的時候,需要定義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') //開發環境
elseif(cg_env == 'prod')else
<?php
/** * 第三方系統對接 api位址
* @author:jolon
* @since : 20190220
*/// cg_env 在 config/conf.php中定義
if(cg_env == 'dev')elseif(cg_env == 'prod')else
CI框架 開發環境 生產環境
開發者常常希望當系統執行在開發環境或生產環境中時能有不同的行為,例如,在開發環境如果程式能輸出詳細的錯誤資訊將非常有用,但是在 生產環境這將造成一些安全問題。codeigniter 預設使用 server ci env 的值作為 environment 常量,如果 server ci env 的值沒...
ThinkCMF小程式API開發框架
1.請先安裝thinkcmf5 thinkcmf 根目錄 api api目錄 data 資料目錄 conf 動態配置目錄 runtime 應用的執行時目錄 可寫 更多 public web 部署目錄 對外訪問目錄 api api入口目錄 index php 入口檔案 htaccess apache重...
CI等框架專案出現白屏(PHP5 5)
ci配置檔案database.php連線資料庫配置如下 123 456 db default hostname localhost db default username root db default password root db default database demo db defaul...