在沒有寫php之前我是搞安卓的(原生)

因為太熟悉安卓Java那一套,於是我在逼不得已自己拿PHP寫後端時自己做了一層封裝,也算是個框架吧。

之所以沒有選擇其他的PHP框架就是因為我TMD還得去看他們的文檔,我是東看PHP文檔西看框架文檔,搞得我頭皮發麻。

所以下定決心自己搞個框架(我也沒去參考過其他框架怎麼搞的),只為了代碼復用性,可維護性(php單文件我是經歷過的,一個單文件又是require載入配置又是對$_POST各種判斷又是輸出內容的。亂七八糟看著頭都大,這個必須要用更優雅的方式解決)。易用性(用最少的代碼寫最多的功能,邏輯層應該寫最少的代碼什麼為空判斷都該交給框架)。

要滿足三點,單文件入口是免不了的,所有框架都是這麼乾的,理所應當我也這麼幹了,然後通過$_GET[activity]來表明要訪問那個文件和方法

如/index.php?activity=homemethod=main

入口文件先載入一些網站的配置,資料庫信息之類的,然後去某個目錄下require載入單文件php

單文件php我基本照搬了java那一套

&class home{

public function main(){ }}

實例化home類,然後調用main方法,但是!但是!做後端少不了的就是$_POST或$_GET數據,這是最基本的對提交的數據處理,如果在main方法每次都去if($_POST)那也太煩了,所以我們必須用更優雅的方式實現,比如

&class home{

public function main(int $id,bool $is=true){ }}

只需要聲明類型,以及名稱,入口文件去做處理,和判斷需要的參數名是什麼,允不允許為空,這就需要用到php的反射api,通過反射就能很簡單拿到home類的main方法需要兩個參數,id 和is並且一個是int一個是布爾值,然後從$_POST拿到同名的數據強制轉換為int 或boolean去調用該方法(甚至為了去管$_FILES我還專門class file一個類型去傳遞上傳的文件)

框架最基礎的就做好了,然後遇到了第二個問題就是公共類,類似java和安卓自己本身帶了很多類,我們可以繼承或new,如果每次都去require那也太累了,主要還是我看到php居然自帶了一個自動載入類機制spl_autoload_register,簡直太爽了,這時候就可以封裝一些公共的方法,就能在整個程序裏到處new或extends繼承

我覺得挺簡單的,就是框架嘛,寫越簡單我越舒服


如果單純的搭建一個論壇網站的後臺的話

很簡單

因為php是直接可以將html標籤寫到.php文件解析的

因此可以先下載一個html的模版框架

將head,導航,側邊欄拆成為.php文件,通過include或者require來引入到index中去

直接在index中通過mysql_connect()連接資料庫,操作資料庫的方法可以寫到一個sql.php文件裡面。

同時將session放入到index中來處理

除去登錄和註冊頁面其他的管理頁面都可以由index監聽當前地址欄路由使用frame來切換,將所有的功能性操作全部用函數來完成,引入到index中。

在資料庫中分配好弱許可權模式構件好基本的表格,一個不需要框架的後臺網站就完成了

如果php代碼寫的熟練的話大概兩天左右就可以完成。

【防飛沫 防塵】黑色韓版情侶款透氣可水洗 8隻裝京東去購買?

貝斯熊兒童口罩純棉,嬰兒日常保護防塵口罩四層嬰幼兒淘寶去購買?

惠尋【5雙裝】襪子男襪男襪情侶中筒襪經典商務休閑襪京東去購買?


說實話,本身php的歷史遺留問題就很多,框架能很好地幫你屏蔽這些問題。


沒什麼難度。但是你搭建完之後會發現自己也搞了一個框架。那重複造輪子意義在哪?

而且後期維護搞死人


沒啥難度,我個人覺得原生寫起來比框架舒服,想用什麼功能都可以自己實現,而不是侷限於框架的設計。缺什麼就寫什麼,久而久之你就有了自己的一套框架。

Sakura Frp 那個就是我用原生 PHP 寫的網站,沒用框架,至今 5w 用戶了依然還是很穩定。


推薦閱讀:
相關文章