因為這次發表的內容比較多比較長,為方便大家閱讀;我已分成三篇發文,大家要是有覺得有價值、感興趣可以關注此賬號或者加入【PHP學習特邀群】獲取更多幹貨學習。
廢話少說,開懟
忘了一點,就是12.2MB源碼我已經壓縮打包好了加群你就可以下載,群是開放的大家都可以加
目錄
(上)
如何構建一個自己的PHP框架
框架目錄一覽
框架模塊說明:
入口文件
自加載模塊
錯誤和異常模塊
配置文件模塊
(中)
輸入和輸出
路由模塊
傳統的MVC模式提倡為MCL模式
使用Vue作為視圖
數據庫對象關係映射
服務容器模塊
(下)
Nosql模塊
接口文檔生成和接口模擬模塊
單元測試模塊
Git鉤子配置
輔助腳本
如何使用?
如何構建一個自己的PHP框架?
首先我們為什麼要構建一個自己的PHP框架?
可能絕大多數的人都會說“網上已經遊那麼多的框架了,還造什麼輪子?”。
“造輪子不是目的,造輪子的過程中汲取到知識才是目的”。
那怎樣才能構建一個自己的PHP框架呢?
我們往下看
除此之外我們還需要
單元測試
nosql支持
接口文檔支持
一些輔助腳本等
最終我的框架目錄如下:
框架目錄一覽
框架模塊說明:
入口文件
定義一個統一的入口文件,對外提供統一的訪問文件。對外隱藏了內部的複雜性想。
[ file: public/index.php ]
自加載模塊
使用【spl_autoload_register】函數註冊自加載函數到【__autoload】隊列中,配合使用命名空間,當使用一個類的時候可以自動載入【(require)】類文件。註冊完成自加載邏輯後,我們就可以使用use和配合命名空間申明對某個類文件的依賴。
[ file: framework/Load.php ]
錯誤和異常模塊
腳本運行期間:
錯誤:
通過函數【set_error_handler】註冊用戶自定義錯誤處理方法,但是【set_error_handler】不能處理以下級別錯誤,
E_ERROR
E_PARSE
E_CORE_ERROR
E_CORE_WARNING
E_COMPILE_ERROR
E_COMPILE_WARNING
和在調用【set_error_handler() 】函數所在文件中產生的大多數
E_STRICT
所以我們需要使用【register_shutdown_function】配合【error_get_last】獲取腳本終止執行的最後錯誤,這是為了對於不同錯誤級別和致命錯誤進行自定義處理。
[ file: framework/hanles/ErrorHandle.php ]
異常:
通過函數【set_exception_handler】註冊未捕獲異常處理方法,目的在於捕獲漏網的異常。
[ file: framework/hanles/ExceptionHandle.php ]
配置文件模塊
加載框架自定義和用戶自定義的配置文件。
[ file: framework/hanles/ConfigHandle.php ]
完整內容請關注 [詳解]從0開始構建一個屬於你自己的PHP框.架(中)——(下)以及【PHP特邀學習群】
閱讀更多 魚與之於漁 的文章