1. 程式人生 > 程式設計 >THINKPHP5.1 Config的配置與獲取詳解

THINKPHP5.1 Config的配置與獲取詳解

首先需要在控制器內引入Config類,這裡使用5.1新增的facade,通過facade可以靜態的呼叫原本需要被繼承才能使用的方法。

獲取配置:

namespace app\index\controller;
use think\facade\Config;
 
class index
{
  public function index()
  {
    //獲取所有配置內容,返回的是個Array
    dump(Config::get());
    //獲取app中的配置內容,返回的是個Array
    dump(Config::get('app.'));
    //獲取app中的配置內容,返回的是個Array
    dump(Config::pull('app'));
    //獲取app中的debug中的配置內容
    dump(Config::get('app.app_debug'));
  }
}
 
// app是預設的一級配置項,app_debug是在app配置項下的,所以app.是可以省略的,但是
// 像template.type中的template.就不能省略,一旦省略了就變為了預設的app下的type了

獲取配置之前最好先判斷配置是否存在:

namespace app\index\controller;
use think\facade\Config;
 
class index
{
  public function index()
  {
    //判斷template下的type項是否存在,返回true或者false
    dump(Config::has('template.type'));
  }
}

動態設定配置

namespace app\index\controller;
use think\facade\Config;
public function set()
{
  dump(Config::get('app_debug'));
  Config::set('app_debug',false);
  dump(Config::get('app_debug'));
}

助手函式

  public function helper()
  {
    // 獲取配置
    dump(config('database.hostname'));
    // 用'?'判斷配置是否存在
    dump(config('?database.hostname'));
    // 設定配置
    config('database.hostname','localhost');
    // 獲取配置
    dump(config('database.hostname'));
 
    // 還是推薦使用靜態類Config::的方法來獲取或者設定配置
    // 更容易被IDE支援
    // 任何的助手函式,都不依賴傳入的類,比如config助手函式
    // 不依賴Config類
  }
}

到此這篇關於THINKPHP5.1 Config的配置與獲取詳解 的文章就介紹到這了,更多相關THINKPHP5.1 Config配置內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!