-
環境變量 結合 配置文件 很便捷
1、在項目根目錄下創建.env文件,在其中寫好配置項
2、在項目config.php文件中使用系統函數讀取env文件中的配置項如:
use think\Env;
return [
// 'app_status' => 'dev',
'app_status' => Env::get('status', 'home'),
];
在conf目錄先創建home.php 配置文件 即可。 此時為項目配置為家種環境配置
查看全部 -
conf下新建對應模塊的文件名,文件下放文件 單獨對應模塊配置
查看全部 -
thinkphp不讀取.env文件的鍵對值
第一:$_ENV會為空,其原因通常是php的配置文件php.ini的配置項為:
;variables_order
;Default Value: “EGPCS”
;Development Value: “GPCS”
;Production Value: “GPCS”
要想讓$_ENV的值不為空:
;variables_orderDefault Value: “EGPCS”
;Development Value: “GPCS”
;Production Value: “GPCS”
第二:
Env不顯示的問題,需要在base.php中 putenv的同時,將數據也寫入$_ENV,就可以解決了
打開thinkphp目錄下的base.php文件修改。
ThinkPHP 引導文件
// 1. 加載基礎文件
require __DIR__ . '/base.php';
if (is_file(ROOT_PATH . '.env'))?
{? ??
$env = parse_ini_file(ROOT_PATH . '.env', true);? ??
foreach ($env as $key => $val) {? ? ? ??
$name = ENV_PREFIX . strtoupper($key);? ? ? ??
if (is_array($val)) {? ? ? ? ? ??
foreach ($val as $k => $v) {?
? ? $item = $name . '_' . strtoupper($k);? ? ? ? ? ? ? ??
? ? putenv("$item=$v");
? ? ? ? }
? ? } else {? ? ? ? ? ??
? ? putenv("$name=$val");? ? ? ? ? ? //加入這一句
? ? ? ? ?$_ENV[$name]=$val;
? ? }
}
}
// 2. 執行應用App::run()->send();
.env在application同級目錄,文件格式為
status='dev'[database]
hostname = localhost
database = vxianfeng
username = root
password = root
hostport = 3306prefix = vxf_
查看全部 -
框架中$_ENV 取不到環境變量 將php.ini中
variables_order : "EGPCS";
或
Default Value: "EGPCS"
查看全部 -
在應用目錄app下創建common模塊 此模塊為公共模塊 不允許url直接訪問
查看全部 -
thinkphp目錄下的convention.php為系統默認配置
查看全部 -
Config::has(); 方法 的判斷 對配置不存在的和 配置的值為NULL的都將返回false
查看全部 -
擴展
一、 應用配置
1、可在入口文件 /public/index.php中定義配置文件目錄
// 定義配置文件目錄
define('CONF_PATH',__DIR__. '/../conf/');
2、在根目錄下創建conf(目錄名稱無限制)目錄
3、在此目錄下 創建config.php(文件名默認)
4、可在conf目錄下創建extra目錄此目錄為自動加載擴展目錄,在extra目錄中創建的文件名,會自動加載到config數組中,文件名為數組的屬性key。
5、場景配置:可在config中定義app_status屬性 如'app_status' => 'office', office 為conf目錄下的文件
二、模塊擴展
1、在conf目錄下創建和模塊名相同的目錄名 如index目錄對應index模塊
2、在index目錄下創建config.php(默認文件名)可在index目錄下創建extra目錄,此目錄為index模塊的擴展目錄
查看全部 -
__construct 方法? ? ?執行任何方法之前都會先執行這個方法
查看全部 -
在conf文件夾下建立和模塊名稱一致的配置文件,該配置文件只對目錄名相同的模塊生效?
查看全部 -
如果使用場景配置文件,就要配置該場景的所有項。如果我們需要配置數據庫,就需要配置數據庫的所有項。
?方便場景切換,如家里辦公環境和公司辦公環境的切換。
框架已經寫好方法,app_status會跳轉到你指向的php文件
查看全部 -
拓展配置優先級高于應用配置
查看全部 -
public目錄下的router文件 框架快速啟動文件 可在本地此目錄下運行:php -S localhost:8888 router.php
然后在瀏覽器輸入localhost:8888查看
查看全部 -
12345
查看全部 -
Config::set('default_return_type',變量)
事先引入Config命名空間
查看全部
舉報