<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] * * * * * ## 1 文件 tp的配置解析驅動目錄 thinkphp\library\think\config\driver\ 通過實現parse()方法對相應格式文件進行解析 包含以下2種 * * * * * 1 Ini.php Ini配置格式文件 2 Xml.php Xml配置格式文件 * * * * * ## 2 配置文件的類型與加載順序 > 1 全局默認配置文件 think5框架內置全局配置文件 thinkphp\convention.php 包含了默認配置參數。 全局配置文件在[模式配置](http://www.hmoore.net/zmwtp/tp5/119432)文件 mode\common.php中,使用如下語句引入 ~~~ 'config' => THINK_PATH . 'convention' . EXT, ~~~ 全局默認配置文件是配置文件的總入口。有關說明見 [附:全局配置](http://www.hmoore.net/zmwtp/tp5/119434) > 2 應用配置 在[全局配置文件](http://www.hmoore.net/zmwtp/tp5/119434),可以使用如下語句引入應用擴展配置文件 ~~~ 'extra_config_list' => ['database', 'route', 'validate', 'auto'], ~~~ application\目錄下的database.php,route.php對應這樣的擴展配置文件 > 3 模塊配置 此外在App.php中的initModule()方法初始化模塊中加載了模塊配置文件。 單模塊的模塊配置文件就是appilication\config.php文件 多模塊的模塊配置文件在對應模塊目錄applicaiton\module\config.php文件。 每個模塊還可以自定義擴展配置文件,使用符號"."可以定義擴展配置文件的目錄 > 4 配置文件加載順序 * * * * * >[info] 1 全局配置文件加載 在[框架引導文件](http://www.hmoore.net/zmwtp/tp5/119425)中加載[模式配置文](http://www.hmoore.net/zmwtp/tp5/119432)件中定義的[全局配置文件](http://www.hmoore.net/zmwtp/tp5/119434),代碼如下。 ~~~ if (isset($mode['config'])) { is_array($mode['config']) ? Config::set($mode['config']) : Config::load($mode['config']); } ~~~ >[info] 2 應用擴展配置文件加載 在[應用啟動](http://www.hmoore.net/zmwtp/tp5/119426)中,加載[全局配置文件](http://www.hmoore.net/zmwtp/tp5/119434)中定義的擴展配置文件,代碼如下。 ~~~ if (!empty($config['extra_file_list'])) { foreach ($config['extra_file_list'] as $file) { $file = strpos($file, '.') ? $file : APP_PATH . $file . EXT; if (is_file($file)) { include_once $file; } } } ~~~ >[info] 3 模塊配置文件加載 在[應用啟動](http://www.hmoore.net/zmwtp/tp5/119429)的initModule()中,加載模塊定義的配置文件,代碼如下 ~~~ $config = Config::load(APP_PATH . $module . 'config' . EXT); if ($config['app_status']) { $config = Config::load(APP_PATH . $module . $config['app_status'] . EXT); } if ($config['extra_config_list']) { foreach ($config['extra_config_list'] as $name => $file) { $file = strpos($file, '.') ? $file : $path . $file . EXT; Config::load($file, is_string($name) ? $name : pathinfo($file, PATHINFO_FILENAME)); } } ~~~ 由上分析可知,配置文件的加載順序是[模式配置文件](http://www.hmoore.net/zmwtp/tp5/119432)->[全局配置文件](http://www.hmoore.net/zmwtp/tp5/119434)->擴展配置文件->模塊配置文件。 ## 3 配置文件的解析文件 所有配置文件使用[配置解析器](http://www.hmoore.net/zmwtp/tp5/119434)thinkphp\library\think\Config.php, 由前面分析可知主要定義了以下三類接口: >[info] set() get() reset() has()配置內容操作 > load() parse()配置文件解析與加載 > range()配置作用域設置 所有的配置項最后保存到Config.php的靜態成員變量$config=[]數組中。 其中的parse()中根據參數$type調用不同的配置解析驅動,代碼如下 ~~~ if (empty($type)) { $type = pathinfo($config, PATHINFO_EXTENSION); } $class = (false === strpos($type, '\\')) ? '\\think\\config\\driver\\' . ucwords($type) : $type; self::set((new $class())->parse($config), '', $range); ~~~ 根據$type參數,創建不同的解析驅動類new $class()解析配置內容$config, 這里的$class對應config\driver\目錄的解析類Ini,Xml解析驅動。 ## 4 總結 >[info] 1 配置文件 全局配置文件convention.php 應用擴展配置database.php route.php 模塊配置文件config.php >[info] 2 配置解析類 thinkphp\library\think\Config.php >[info] 3 配置操作 load() parse() set() get() reset() has()
                  <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>

                              哎呀哎呀视频在线观看