亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Env不能被靜態調用?

為什么我不能直接用Env::get('name')這個方法,報錯是不能被靜態調用。?? 然后我實例化后 就可以用了 ? $env= new Env();$env->get('name'),為什么啊 ? 我配置有問題?

正在回答

3 回答

要使用Config類,首先需要在你的類文件中引入

use?think\facade\Config;

或者(因為系統做了類庫別名,其實就是調用think\facade\Config)

use?Config;

同樣的要使用Env類,必須先引入think\facade\Env或者\Env。

其實你第一個問題引入類名引入有問題,應該是think\facade\Config,facade類是TP5.1新規定,

門面(Facade)為容器中的類提供了一個靜態調用接口,相比于傳統的靜態方法調用, 帶來了更好的可測試性和擴展性,你可以為任何的非靜態類庫定義一個facade類。


0 回復 有任何疑惑可以回復我~

因為ThinkPHP5.1多了一個facadel類

門面(Facade)為容器中的類提供了一個靜態調用接口,相比于傳統的靜態方法調用, 帶來了更好的可測試性和擴展性,你可以為任何的非靜態類庫定義一個facade類。

系統已經為大部分核心類庫定義了Facade,所以你可以通過Facade來訪問這些系統類,當然也可以為你的應用類庫添加靜態代理。

只要這個類庫繼承think\Facade,就可以使用靜態方式調用動態類app\common\Test的動態方法,例如上面的代碼就可以改成:

//?無需進行實例化?直接以靜態方法方式調用hello
echo?\app\facade\Test::hello('thinkphp');

結果也會輸出?hello,thinkphp。

說的直白一點,Facade功能可以讓類無需實例化而直接進行靜態方式調用。

參考網址http://www.php.cn/manual/view/32830.html,ThinkPHP5.1核心Facade類庫相關


0 回復 有任何疑惑可以回復我~

可以啊


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
快速入門ThinkPHP 5.0--基礎篇
  • 參與學習       58777    人
  • 解答問題       516    個

ThinkPHP5已發布多時,想了解ThinkPHP5的新特性嗎?老司機帶你馬上出發~

進入課程

Env不能被靜態調用?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號