#### 寫在前面
這個框架是我模仿ThinkPHP搭建的,框架的使用方法我寫在了我的博客上:[silsuer的博客](http://liuhongbao.cn) 然后我把寫這個框架時候的每一步的思路加上我自己的理解都詳詳細細的寫在了這本教程里,這個教程中全都是干貨!碼字不易,希望各位能理解、支持我
本教程適用于:
1.學完原生PHP代碼,打算一展身手的兄弟
2.有框架使用經驗,想要深入理解框架的程序員
3.想要搭建自己的框架,卻覺得無從下手的初級程序員。
這個教程會不斷更新,我會不斷的把一些PHP處理類庫實現的方法寫進來,我也歡迎大家批評指正,哪里看不懂也可以去[我的blog](http://liuhongbao.cn)上給我留言,我會一一回復,感謝各位的支持
###### 文檔簡介
最近放假,趁著假期有時間,我接了一個項目,用ThinkPHP做一個網站,本人是重度TP使用者,TP是我接觸的第一個框架,甚至在原生PHP還沒有學好的時候,我就已經用TP搭了自己的第一個站了,說說我自己對TP的感受:
1. 語法簡單
我最喜歡的就是TP的連貫操作,操作數據庫太輕松了,實際上對于一個網站來說,核心就是對數據庫的增刪改查,然后將結果顯示到網頁中,在TP中,
只要使用``M('table_name')->where('id=5')->select();``就可以很輕松的拿到數據庫的信息
2.結構明顯
TP把整個網站模塊化,“后臺模塊”、“前臺模塊”、“會員模塊”等,只要在入口文件里注冊過,就可以自動創建模塊結構,而每個模塊中都
有相同的結構,Model、Controller、View等,還可以單獨的制作配置文件加載進去,而且可以在配置文件中指定目錄結構,高度定制化
3.過于臃腫
TP的核心版本(去掉了所有的擴展類庫)也有300多k,我詳細看了里面的代碼,或許是出于對安全的考慮?在我看來,很多函數有更好的實現
方法,還有鉤子等,我認為對于小型網站來說,沒有必要使用,鉤子一般是用來執行一些與程序執行不相關的任務(記錄運行日志等),這樣會增加運行時間
,影響效率。完全可以更加精簡,提升效率,我按照這篇教程里寫的MVC框架核心類庫
只有不到30k。
4.報錯莫名其妙
很多時候,TP報的錯誤我根本找不到原因......這也是自己技術不到家,比如上傳錯誤啊、緩存錯誤啊,很多種,每次都要靠度娘,挺折磨人的,而且有時候還牽扯到底層代碼,我也不敢去動,只能對著屏幕干瞪眼,然后換一種思路去實現需求。
基于以上幾點,我決定自己仿照TP的語法搭建一個MVC框架,因為我自身技術也一般,沒接觸過太深層次的代碼,寫了將近一個月,查了很多資料,也看了好幾個框架的源代碼,發現它們的實現原理都是大同小異,也算終于寫完了這個框架,想把我寫這個框架的一些感受和步驟寫下來供大家參考。大家有興趣的可以去我的blog中查看:[silsuer的博客](http://liuhongbao.cn),里面有框架的使用方法,最下面有留言板,歡迎大家批評指正。具體步驟請繼續往下看。