這篇文章我就拿TP來舉例,我們要如何學習他的原始碼呢?
我們需要從幾個方向入手:
一、 框架中是如何載入這些類庫的? (建議學習:PHP影片教學)
我認為學習框架底層這一步是必須的,我們要知道框架是如何載入不同目錄下的不同文件,並且如果是透過composer安裝的類別庫也得知道他是如何被載入到框架的,這個時候可以去跟進think\Loader.php 檔案即可。
那我們研究完畢這個類別庫之後,我們還得自行的去做下思考, 例如我想自己創建一個自訂singwa目錄(如圖一) 也想把它被載入到框架中,如何做?所以學習框架底層一定要帶著問題和思考的態度去學習,這樣成長一定很快。
二、設計模式學習(工廠模式、單例模式、註冊樹模式、門面模式等)
三、反射機制學習
四、依賴注入控制反轉等學習
1五、研究架構中的容器、門面Facade
think /Container think\Facade
六、路由
這裡地方的分析可以直接透過index.php 入口文件一步一步的跟進,看看框架裡面走了哪些流程, 可能在這裡面會用到一些其他的工具類,例如
設定檔(config),
環境變數:Env
##並且還得思考框架的路由是如何做的,在App類別中會走到routeInit路由初始化這個方法,這裡面是路由的核心,它會引入其他的基礎路由類別庫。七、底層控制器、模型、視圖的基礎類別庫分析
#八、其他一些工具類別的分析例如: 異常處理、快取等核心類別庫分析
總之上面這些基本上涵蓋了框架的核心內容,在研究框架原始碼的過程是一件枯燥和痛苦的事情,但是我們需要堅持,閱讀框架程式碼不是看一遍就完事了,我們需要多看幾遍,並且在看的過程中我們還需要做點如下幾點:1、 在您有疑問的地方打上斷點,輸出相關的內容出來看看他到底回傳什麼內容,因為這樣比較直觀,便於您真正意義上理解2、 我們需要思考它為什麼要這樣做?我這樣做可以嗎?能不能變通、或有沒有更好的方法?因為帶著問題和思考的態度去學習 更有利於您的個人成長。 3、在研究原始碼的時候有不懂得地方肯定很正常的,這個時候一定要記住多利用百度或Google4、一定一定要多畫圖, 因為您去研究原始碼然後還能透過圖的方式畫出來這更有基於您學習以及深入理解,它真的能起到事半功倍的作用!以上是php框架底層原始碼怎麼看的詳細內容。更多資訊請關注PHP中文網其他相關文章!