久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      ThinkPHP配置文件加載流程

      ?

      終于來到了正題,本文會對config配置文件加載過程進行解析,之前的所有工作都是為了本節(jié)工作做鋪墊

      ?

      雖說上面的Yaconf對于config的源碼解析沒有多大的幫助,但是也是在擴寬一下思路,以后在工作中可以嘗試使用Yaconf。

      進入正題,想知道Config是怎么進行加載解析的,先來畫一個圖。一起看一下加載config的執(zhí)行流程。

      ThinkPHP配置文件加載流程
      在這里插入圖片描述

      回到public/index.php,在上一期說了類的自動加載是在加載base.php文件的過程中執(zhí)行的。

      那么config的加載是在下圖框起來的這里,這里涉及到了容器,會有一個單獨的專題來對容器進行剖析。

      這里就不過多說明了,這段代碼回去執(zhí)行`D:phpstudy_proWWWThinkPHPSourceCodeAnalysisthinkphplibrarythinkApp.php這個文件的run方法。

      ThinkPHP配置文件加載流程并且在run方法中需要追蹤的是initialize應用初始化這個函數(shù)

      ThinkPHP配置文件加載流程接著在initialize這個方法中就會看到配置文件的蛛絲馬跡,隨之而來就是一個初始化應用init

      ThinkPHP配置文件加載流程直到走到init方法中,才算是進入了主題。

      開始了自動加載配置文件,并且還調(diào)用了config類中的load方法,也是需要一起閱讀的。

      ThinkPHP配置文件加載流程來到這里之后需要簡單的進行解讀一下

      這段代碼會直接走到elseif中,因為在app目錄下沒有設置config目錄

      并且這里有個configPath這個屬性熟悉吧!這個值最終就是D:phpstudy_proWWWThinkPHPSourceCodeAnalysisconfig

      ThinkPHP配置文件加載流程在接這就是把config目錄下的文件全部拿出來。

      傳遞給config類的load方法

      在這里有幾個知識點提一下,就當回顧了

      • scandir :以升序的方式返回一個目錄下的所有文件,還有第二個參數(shù)1,表示降序的方式返回一個目錄下的所有文件。
      • pathinfo:以數(shù)組的形式返回文件信息,分別為目錄名、文件名、擴展名,其中的幾個參數(shù)代碼中有提到,可以看下圖即可。

      在這段代碼中有一個屬性configExt,這個值是在環(huán)境變量讀出來的,給的值是php

      ThinkPHP配置文件加載流程緊接著就需要來到thinkphp/library/think/Config.php這個文件了,在app文件中最后調(diào)用了config類中的load。

      一起來看看都經(jīng)歷了什么

      在load這個方法中,流程的最終走向會到loadFile這個方法中,至于elseif的代碼為什么不會走,或者說這段代碼就是多余的。

      因為當Yaconf安裝后在PHP啟動后就會直接去加載對應的配置文件

      ThinkPHP配置文件加載流程來到loadFile這個文件后

      我們都知道在ThinkPHP框架中,config目錄下的所有文件都是PHP類型的

      所以在判斷了類型后就直接進入到set里邊進行數(shù)據(jù)的處理

      include直接引入的就是config目錄下的配置文件,并且所有的配置文件都是直接return返回一個數(shù)組

      ThinkPHP配置文件加載流程在set方法中,這塊代碼就是核心了

      一直循環(huán)合并數(shù)組,最終把所有的配置信息都返回給了config這個屬性

      截止到這里config目錄下的所有配置就加載完成了。

      ThinkPHP配置文件加載流程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號