PHP搭建簡單暴力的mvc

2022-05-22 08:30:14 字數 1351 閱讀 4497

對於乙個web系統來說,我們使用mvc很必要, 給我們帶來的是清晰的結構,易運維,易擴充套件,

mvc 我對其的理解應該叫mxvc, 多了乙個x , 這個x代表什麼,x可以理解為 relay,proxy,adapter 亦可,

先來看下面這張圖

這是我們系統的mxvc結構圖, 大概分成四個部分,

第一部分 php-libs 

這是提供mvc框架的底層庫,這塊需要注意的是這是乙個和業務無關的**模組,裡面還有資料庫封裝類等, 我把資料庫也畫在

這個圖中了,可以看出資料庫的重要性,其實所有的web系統都是圍繞著資料庫增刪改查上面的封裝

把資料庫畫出來還有個重要的目地是告訴大家對資料的操作要入口唯一, 在我系統裡面只有dao

下面封裝的類可以訪問到資料庫,入口的唯一雖然有短處,但是利大於弊,切記

第二部分 controller

我們先來說控制層,最後再說mx,

從系統結構上來說controller是接入層,這裡面的類是相互獨立的,也就是說我們在controller類裡面寫的方法,理論上只能被類自己的其他方法使用,所以寫的每個方法都要考慮好,是不是應該放在這裡面還是放在mx裡面,我們要衡量好,同樣功能的方法最好不要出現第二次,這裡面的**要很簡潔,最好不要有太多的業務邏輯的處理,全部交給後端的邏輯層去處理,

第三部分 view

這裡面也就是前端,靜態檔案css js pic 還有template 記住這裡面的靜態檔案是不走後端業務邏輯的,使用者可以直接訪問的,所以要設計好你的資料夾結構, 哪些可以暴露,哪些不可以暴露

第四部分 mx 即model +x ( proxy/adapter/relay ) 

毋庸置疑這是你系統最重要的部分,心臟, 

簡單說一下我們的設計, 這裡面有兩個公用的資料夾,service和utils 他們分別放公共的服務類和工具類,

比如你的異常封裝類和錯誤碼都可以放在service裡面,utils下面比如你的getclientip這樣的方法可以放在這個下面

這裡面的dao可以看到所有資料庫的封裝類在這個下面都可以找到,而且出處唯一,只有這裡面可以找到,基本上乙個表對應乙個類即乙個檔案, 這裡面的檔案比較簡單就是資料庫的增刪改查,保證如果外面想對這個表操作只有通過這個類才可以實現

下面就是x 因為我們乙個前端的請求可能需要多個表的結果,或者乙個封裝好的資料介面可以提供給上游好幾個controller共用,

這個時候x的價值就體現出來了, 保證**的簡潔,提高**的復用全靠這個層的**了,更多的細節可以自己慢慢總結,

只要我們有清晰的邏輯設計,職責清晰,分工明確的**,兵來將擋水來土掩,即使有大的改動也不怕

php簡單實現MVC

php中的mvc mvc 1 在軟體工程中是一種軟體的架構。從php的角度來講mvc有一些不同。model 模型 程式應用功能的實現,程式的邏輯的實現。在php中負責資料管理,資料生成。view 檢視 圖形介面邏輯。在php中負責輸出,處理如何呼叫模板 需要的資源檔案。controller 控制器 ...

php簡單實現MVC

php中的mvc mvc 1 在軟體工程中是一種軟體的架構。從php的角度來講mvc有一些不同。model 模型 程式應用功能的實現,程式的邏輯的實現。在php中負責資料管理,資料生成。view 檢視 圖形介面邏輯。在php中負責輸出,處理如何呼叫模板 需要的資源檔案。controller 控制器 ...

PHP搭建自己的MVC框架 2

mvc工作流程初步認識 第一步 訪問者 呼叫控制器 發出指令 第二步 控制器 按指令選取合適的模型 第三步 模型 安控制器發出的指令獲取相應的資料 第四步 控制器 按照指令選取相應的檢視 第五步 檢視 將第三步渠道的資料通過控制器傳遞給檢視資料按使用者想要的樣子展示出來 1 首先我們需要有乙個入口檔...