【思路】檢視php框架tp5、yii2、laravel原始碼的思路
阿新 • • 發佈:2019-02-08
等有時間咯,在寫分析各個框架的思路吧
此思路是看第3方類庫或某個框架文件特少的方法:
1、根據想要實現的功能名:找類2、找到後挨著看方法:找到方法
3、呼叫該方法測試下,一般只看這2點一般就夠了
3.1、看該方法得註釋需要傳什麼引數
3.2、看該方法得註釋返回什麼資料型別。
這2點沒問題一般也就對了,具體程式碼的實現有空咯在看
TP5:
原始碼解析:
1、入口檔案(只有這個沒有名稱空間)
- 定義應用目錄的常量
- 引入啟動檔案
2、啟動檔案
- 引入基礎檔案
- 定義目錄常量
- 定義環境常量
- 呼叫自動載入
- 載入類庫對映檔案(應該是普通類)
- 載入composer
- 載入/extend
- 呼叫錯誤和異常處理
- 錯誤、異常、異常中止
- 載入配置檔案
- 設定thinkphp/convertion.php
- 啟動框架
- 載入控制器/方法、語言、監聽 app_dispatch、路由檢測、記錄路由和請求資訊、監聽 app_begin、檢查請求快取
- 清空載入了的類的例項化、輸出資料到客戶端(自動識別響應型別)、監聽app_end
- 返回的是1個response物件
- 呼叫response->send方法
- 監聽response_send
3、看配置檔案的核心類,看看他是怎麼獲取的,因為好多地方都要獲取配置檔案,所以先看這個
laravel:
優點:優雅,框架結構組織清晰(抽象了中介軟體,任務,服務等模組),提供的artisan開發工具開發效率高,社群活躍完善,並且提供了簡化的輕量級框架lumen缺點:貌似程式碼有些過於優雅喪失了一些效能