<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                在ThinkPHP中,一般來說應用的配置文件是自動加載的,加載的順序是: > 慣例配置(位于`thinkphp/convention.php`)->應用配置(application/config.php)->擴展配置(application/extra/xxx.php)->場景配置->模塊配置(application/當前模塊名/config.php)->動態配置 ## **設置配置參數** ~~~ //項目配置文件 return [ // 默認模塊名 'default_module' => 'index', // 默認控制器名 'default_controller' => 'Index', // 默認操作名 'default_action' => 'index', 'cache' => [ 'type' => 'File', 'path' => CACHE_PATH, 'prefix' => '', 'expire' => 0, ], //更多配置參數 //... ]; //動態設置 Config::set('配置參數','配置值'); // 或者使用助手函數動態設置 config('配置參數','配置值'); //也可以批量設置 Config::set([ '配置參數1'=>'配置值', '配置參數2'=>'配置值' ]); //或 config([ '配置參數1'=>'配置值', '配置參數2'=>'配置值' ]); ~~~ ## **讀取配置參數** 設置完配置參數后,就可以使用get方法讀取配置了,例如: ~~~ echo Config::get('配置參數1'); ~~~ 系統定義了一個助手函數`config`,以上可以簡化為: ~~~ echo config('配置參數1'); ~~~ 讀取所有的配置參數: ~~~ dump(Config::get()); // 或者 dump(config()); ~~~ 或者你需要判斷是否存在某個設置參數: ~~~ Config::has('配置參數2鍵名'); // 或者 config('?配置參數2鍵名'); ~~~ 如果需要讀取二級配置,可以使用: ~~~ echo Config::get('配置參數鍵名.二級參數鍵名'); echo config('配置參數鍵名.二級參數鍵名'); ~~~ 獲取extra擴展配置 ``` config(文件名.配置參數的鍵名) ``` ## 場景配置 每個應用都可以在不同的情況下設置自己的狀態(或者稱之為應用場景),并且加載不同的配置文件。 舉個例子,你需要在公司和家里分別設置不同的數據庫測試環境。那么可以這樣處理,在公司環境中,我們在應用配置文件中配置: ~~~ 'app_status'=>'office' ~~~ 那么就會自動加載該狀態對應的配置文件(默認位于`application/office.php`)。 > 場景配置文件和應用配置文件`config.php`是一樣的定義。 如果我們回家后,我們修改定義為: ~~~ 'app_status'=>'home' ~~~ 那么就會自動加載該狀態對應的配置文件(位于`application/home.php`)。 > 場景配置文件是可選的 系統默認的配置文件目錄就是應用目錄(`APP_PATH`),也就是默認的`application`下面,并分為應用配置(整個應用有效)和模塊配置(僅針對該模塊有效)。 ~~~ ├─application 應用目錄 │ ├─config.php 應用配置文件 │ ├─database.php 數據庫配置文件 │ ├─route.php 路由配置文件 │ ├─index index模塊 │ │ ├─config.php index模塊配置文件(模塊有效) │ │ └─database.php index模塊數據庫配置文件 ~~~ 如果不希望配置文件放到應用目錄下面,可以在入口文件中定義獨立的配置目錄,添加`CONF_PATH`常量定義即可,例如: ~~~ // 定義配置文件目錄和應用目錄同級 define('CONF_PATH', __DIR__.'/../config/'); ~~~ 配置目錄下面的結構類似如下: ~~~ ├─application 應用目錄 ├─config 配置目錄 │ ├─config.php 應用配置文件 │ ├─database.php 數據庫配置文件 │ ├─route.php 路由配置文件 │ ├─index index模塊配置文件目錄 │ │ ├─config.php index模塊配置文件 │ │ └─database.php index模塊數據庫配置文件 ~~~ ## 擴展配置目錄(`V5.0.1`) `5.0.1`開始增加了擴展配置目錄的概念,在應用配置目錄或者模塊配置目錄下面增加`extra`子目錄,下面的配置文件都會自動加載,無需任何配置。 如果你定義了`CONF_PATH`常量為config目錄為例,擴展配置目錄如下: ~~~ ├─application 應用目錄 ├─config 配置目錄 │ ├─config.php 應用配置文件 │ ├─database.php 數據庫配置文件 │ ├─route.php 路由配置文件 │ ├─extra 應用擴展配置目錄 │ ├─index index模塊配置文件目錄 │ │ ├─extra index模塊擴展配置目錄 │ │ ├─config.php index模塊配置文件 │ │ └─database.php index模塊數據庫配置文件 ~~~ ## 環境變量配置 `ThinkPHP5.0`支持使用環境變量配置。 在開發過程中,可以在應用根目錄下面的`.env`來模擬環境變量配置,`.env`文件中的配置參數定義格式采用`ini`方式,例如: ~~~ app_debug = true app_trace = true ~~~ 如果你的部署環境單獨配置了環境變量,那么請刪除`.env`配置文件,避免沖突。 環境變量配置的參數會全部轉換為大寫,值為`null`,`no`和`false`等效于`""`,值為`yes`和`true`等效于`"1"`。 > ThinkPHP5.0默認的環境變量前綴是`PHP_`,也可以通過改變`ENV_PREFIX`常量來重新設置。 注意,環境變量不支持數組參數,如果需要使用數組參數可以,使用下劃線分割定義配置參數名: ~~~ database_username = root database_password = 123456 ~~~ 或者使用 ~~~ [database] username = root password = 123456 ~~~ 獲取環境變量的值可以使用下面的兩種方式獲取: ~~~ Env::get('database.username'); Env::get('database.password'); // 同時下面的方式也可以獲取 Env::get('database_username'); Env::get('database_password'); ~~~ 可以支持默認值,例如: ~~~ // 獲取環境變量 如果不存在則使用默認值root Env::get('database.username','root'); ~~~ 可以直接在應用配置中使用環境變量,例如: ~~~ return [ 'hostname' => Env::get('hostname','127.0.0.1'), ]; ~~~ > 環境變量中設置的`app_debug`和`app_trace`參數會自動生效(優先于應用的配置文件),其它參數則必須通過`Env::get`方法才能讀取。 ## 獨立配置文件 > 配置文件支持分離(也稱為擴展配置),只需要在公共配置文件配置`extra_config_list`參數(V5.0.1版本已經廢除該寫法)。 例如,不使用獨立配置文件的話,數據庫配置信息應該是在`config.php`中配置如下: ~~~ /* 數據庫設置 */ 'database' => [ // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '127.0.0.1', // 數據庫名 'database' => 'thinkphp', // 數據庫用戶名 'username' => 'root', // 數據庫密碼 'password' => '', // 數據庫連接端口 'hostport' => '', // 數據庫連接參數 'params' => [], // 數據庫編碼默認采用utf8 'charset' => 'utf8', // 數據庫表前綴 'prefix' => '', // 數據庫調試模式 'debug' => false, ], ~~~ 如果需要使用獨立配置文件的話,則首先在config.php中添加配置: ~~~ 'extra_config_list' => ['database'], ~~~ 定義之后,數據庫配置就可以獨立使用`database.php`文件,配置內容如下: ~~~ /* 數據庫設置 */ return [ // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '127.0.0.1', // 數據庫名 'database' => 'thinkphp', // 數據庫用戶名 'username' => 'root', // 數據庫密碼 'password' => '', // 數據庫連接端口 'hostport' => '', // 數據庫連接參數 'params' => [], // 數據庫編碼默認采用utf8 'charset' => 'utf8', // 數據庫表前綴 'prefix' => '', // 數據庫調試模式 'debug' => false, ], ~~~ 如果配置了`extra_config_list`參數,并同時在`config.php`和`database.php`文件中都配置的話,則`database.php`文件的配置會覆蓋`config.php`中的設置。 獨立配置文件的參數獲取都是二維配置方式,例如,要獲取`database`獨立配置文件的`type`參數,應該是: ~~~ Config::get('database.type'); ~~~ 要獲取完整的獨立配置文件的參數,則使用: ~~~ Config::get('database'); ~~~ ## 作用域 配置參數支持作用域的概念,默認情況下,所有參數都在同一個系統默認作用域下面。如果你的配置參數需要用于不同的項目或者相互隔離,那么就可以使用作用域功能,作用域的作用好比是配置參數的命名空間一樣。 ~~~ // 導入my_config.php中的配置參數,并納入user作用域 Config::load('my_config.php','','user'); // 解析并導入my_config.ini 中的配置參數,讀入test作用域 Config::parse('my_config.ini','ini','test'); // 設置user_type參數,并納入user作用域 Config::set('user_type',1,'user'); // 批量設置配置參數,并納入test作用域 Config::set($config,'test'); // 讀取user作用域的user_type配置參數 echo Config::get('user_type','user'); // 讀取user作用域下面的所有配置參數 dump(Config::get('','user')); dump(config('',null,'user')); // 同上 // 判斷在test作用域下面是否存在user_type參數 Config::has('user_type','test'); ~~~ 可以使用`range`方法切換當前配置文件的作用域,例如: ~~~ Config::range('test'); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看