您好,登錄后才能下訂單哦!
這里將全面的介紹這個框架給我們開發帶來的好處,讓你們對它有更深層次的認識,喜歡或不喜歡的,歡迎大家前來留言討論
現在很多的項目,特別是大一點的項目里面,都會有很多的人參與,要進行程序查詢找、修改或是升級擴展的時候,目錄結構一目了然就顯得很重要了,更重要的是后面的人來接手的話,目錄結構不清楚,程序結構很亂的話,那估計接手的人只有哭了
下面就是tpframe的框架目錄結構,是不是很干凈
每個目錄結構:
addon:插件目錄
application:應該模塊目錄
coreframe:核心程序目錄
data:運行時目錄(緩存、上傳文件等)
extend:擴展目錄(保留),為了保持tp5程序擴展的風格,如果你習慣tp5的開發風格,你也可以在這里面擴展
theme:模板目錄(前臺、后臺)
是不是很一目了然,各個功能模塊都很清楚分開存放呀
分層并不是tpframe弄出來的,而是把tp5的分層給充分利用起來,當然我這里不是說的程序框架模式,經典的還屬MVC,那當然還有其它模式,像MVP,MVVM www.cnblogs.com/indream/p/3602348.html ,CBD,ORM等等
我這里要說的是MVC更細化分層,每層的在功能設計中所起的作用,為什么要這樣設計等問題
我也看到過CV模式,有部分人就推崇這種簡單直接的模式,其實這種就相當于原生PHP再升級一下而已,把邏輯相關獨立出去,當然我想的是他們喜歡這種的目的就是覺得簡單,直接了當,有人說程序執行更快?加載的東西少?
哈哈,如果僅僅是為了速度問題,原生比什么框架都快,不是嗎。所以討論到這個問題你就輸了(別太認真),一個框架好與不好,個人覺得應該從如下方面來參考
?可讀性好不好(換一個人能不能快速的入手)
?可維護性好不好
?程序可擴展性好不好
?程序之間耦合度是否達到盡可能的低
?重復代碼是否將到最低
......
說了這些我就會問,原生PHP能做到上面的某些方面么,就拿CV模式來說,如果一個邏輯代碼成千上萬行了,改起來估計難度很大吧,動不動出錯了怎么辦,要在中間加一塊功能,換一個人估計都不敢改了。
那么TPFrame框架的分層結構是怎么樣的呢?我先來說一個公司的事務處理流程
首先是公司的前臺人員,如果有外來人員(瀏覽器),簡單的事情(不進行數據處理)直接回復就可以,如果要設計到公司重要的事情,她們便把事情通報給相應的部門(對應的部門,為客戶服務的)來處理,每個部門處理重要事情總得要領導決策的吧(最終數據處理),然后再原路返回,再由前臺人員把反饋結果給外來人員(瀏覽器),所以就得到了如下分層結構
1)、controller:控制層,控制轉發,相當于前臺
2)、service:服務層,為數據處理而服務器,出問題,回滾,數據攔截,驗證等,相當于各部門
3)、logic:邏輯層,數據處理層(CURD操作),相當于領導
4)、view:視圖層,這便是最張呈現給客戶的方案
當然為了數據的更細化,規范化,還少不了其它的層
5)、model:模型層,數據自動處理(數據自動完成、數據修改),其實真正的數據處理層就是它
6)、validate:驗證層,數據在進行CURD之前的驗證操作可交給它
你們可去看thinkphp文檔,這些層都是有的,只是它介紹的不是那么的詳細。
當然有人說了,這樣開發起來好復雜哦,當然,對于一些最終都是很簡單的項目,可以認為它是有點復雜的,但對于 一個長期項目,以后要擴展,升級,維護的項目,這種分層絕對是有必要的。當然這樣分層也減少了代碼之間的耦合度。
現在的很多項目需求都是各端都要求(app\mobile\pc),而在開發的時候,分三批人分別開發也好,一批人按計劃開發也好,寫好一套再寫一套,還是各寫各的一套。。。我們都知道,不管是app也好,mobile或pc,一個項目,他們的展示數據大部分都是相同的,也就是說他們對數據處理的大部分功能都是相同的,倘若是分開寫的話,就會有大量的代碼重復,以后升級三端都是加,改也要全改,維護起來更是老火。
那么針對這種tpframe給出來的解決方案(建議):
1)、邏輯共用(放公共模塊),當然除非你肯定這個功能只有這個模塊要使用,你就可以寫在當前模塊里面
2)、服務層各模塊,因為模塊(部門)對數據的處理可能不一樣(領導下達的任務),例如app可能要規范一定的數據,返回數據為json格式 ,而pc則不一樣
3)、控制器各模板,因為不同端的入口可能不一樣
這里主要在邏輯層,因為它是最重要的,也是處理比較頻繁的,它共用后,以后維護,升級都方便了。
用過微擎系統的人肯定就知道,它的系統是通過插件的形式過行一步一步的擴展的,而這些插件是完全獨立的,這樣便可以以插件的形式對系統進行任意功能的擴展了,但我發現它的插件里面有大量重要的代碼,幾個大的插件下來,動則幾百M,大則幾G,太臃腫。
tpframe同樣實現了插件擴展系統的功能,而且進行了升級,各插件大量重復的功能模塊可獨立出來,每個功能模塊都可以插件的方式進行開發
tpframe插件分類:
1)、行為插件
該插件開發好后,只須要在須要顯示的地方放置鉤子即可,以后只須要在后臺開啟與關閉來控制。
好處:鉤子放置可以在未開發插件功能前放置,以后須要的時候再開發也可以;在不改變前端代碼的情況下可自由開發插件
例如:編輯器插件、登錄插件
2)、模塊插件
該插件類似于thinkphp5的一個單獨模塊功能,它可以是獨立的,有自己的數據管理功能
例如:cms插件、短信插件
3)、行為模塊插件
它是行為插件與模塊插件的組合
也就是說它也可以放置鉤子,同樣也有后臺數據管理功能
例如:幻燈片插件
插件可簡單的進行安裝與卸載
OK ,這就是tpframe開發網站的一些優點吧,再次說明它不是cms系統,它是thinkplhp5的升級版框架;如果你覺得不錯,歡迎下載使用,開源免費的哦;如果你有獨到的見解,歡迎留言
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。