在 tp5.1 中部分之前版本的預定義常量如 app_path、root_path 等被定義為了 項目的環境變量.
目前預定義的環境變量包括 (以項目路徑 E:wamp64wwwproject_name 為例):
think_path: 系統框架目錄路徑, 如 E:wamp64wwwproject_name thinkphp
root_path: 項目路徑, 如 E:wamp64wwwproject_name
app_path: 應用路徑, 如 E:wamp64wwwproject_nameapplication
config_path: 配置文件目錄路徑, 如: E:wamp64wwwproject_nameconfig
route_path: 路由文件路徑: 如: E:wamp64wwwproject_nameroute
runtime_path: 運行時目錄路徑: 如: E:wamp64wwwproject_nameruntime
extend_path: 擴展類庫路徑, 如: E:wamp64wwwproject_nameextend
vendor_path: 第三方類庫目錄路徑, 如: E:wamp64wwwproject_namevendor
module_path: 當前模塊的路徑
管理環境變量
thinkEnv對象負責項目環境變量的存取.
設置環境變量
通過Env對象的set方法設置項目環境變量.
Env::set('name',?'value');
讀取環境變量
通過助手函數env()可以快速獲取預定義的環境變量. 該函數最終調用Env對象中的get方法.
env('name');?//?參數為空時,?獲取所有的項目環境變量 Env::get('name');
獲取環境變量, 會先獲取預定義的項目環境變量, 如果沒有找到, 則會獲取 PHP 的環境變量. 都沒有找到時, 返回 NULL. 但是在獲取 PHP 內置環境變量時, TP 框架會默認為變量名追加PHP_前綴, 需要取消自動追加變量名前綴:
env('document_root',?null,?false);?//?第三個參數指定為false,?獲取$_SERVER['DOCUMENT_ROOT']
應用: 為各個模塊配置通用的模板布局文件
在 template.php 中配置:
'layout_name'?=>?env('app_path')?.?'common/view/layout.html',?//?以絕對路徑的方式指定通用的布局文件
然后在 common 目錄下的 view 目錄建立 layout.html 布局文件即可.
推薦:《thinkPHP教程》