仿照TP3.2製作MVC框架(一) 文檔簡介
寫在前面
這個框架是一年多以前(17年1月吧)我自己模仿TP3.2之前寫的,現在有點過時了,以前的使用文檔遷移了博客之後也不知道扔哪去了,這幾天開了專欄,先把這個東西搬上來吧,後續再寫其他的....
寫的不好,請多擔待
如果是初學php的話,用這個教程入門我覺得是很好的,當然,如果有哪位大佬有時間一起完善完善也熱烈歡迎 : ) , 我帶的幾個學弟都是敲了幾遍這個框架入的門,我覺得還不錯.... 嗯,吹牛逼完畢,進入正題....
原本的簡介
最近放假,趁著假期有時間,我接了一個項目,用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框架,因為我自身技術也一般,沒接觸過太深層次的代碼,寫了將近一個月,查了很多資料,也看了好幾個框架的源代碼,發現它們的實現原理都是大同小異,也算終於寫完了這個框架,想把我寫這個框架的一些感受和步驟寫下來供大家參考。
GitHub地址:silsuer/S-Framework
未完待續...............
推薦閱讀:
※PHP框架中thinkPHP和Swoole有什麼區別?
※新人剛接觸 PHP,哪種框架比較容易上手?
※Yii測試沒找到PHPUnit_Extensions_Database_TestCase?(已解決)
※PHP 框架哪個更好一點?CodeIgniter 怎麼樣?
※自己寫一個web應用的話,架構推薦(前端框架和後端php框架)?