基於Typecho CMS框架開發大中型應用

WBOY
發布: 2016-07-29 09:12:38
原創
1193 人瀏覽過

基於Typecho CMS框架開發大中型應用

大中型應用暫且定義為:大於等於3個資料表的應用程式!汗吧!

Typecho原本是一款部落格系統,其框架體係有別於市面上一般意義MVC框架,主體程式碼以自創的Widget為基類,整體非常簡潔。

Typecho基本特性如下:

  1. 單一入口
  2. 除Db配置外,其他配置存於DB中
  3. 路由配置也存於DB中

  4. 自創Action層,類似傳統的Controller層

  5. Hook機制

  6. 泛Plugin機制,Plugin包含註冊已有Hook的Handler、擴充已註冊Widget的方法、繪製新的前端Route以繪製新的Action、註冊後端管理介面

  7. 支援UI主題
為什麼要基於Typecho開發應用

我又不是Typecho官方開發者,也不在相關背景單位segmentfault.公司工作,為什麼要用這種小眾框架?

事實上,你確實不需要用Typecho,PHP世界的框架已太多,完全可以選擇更高級的框架。

不知從何時​​開始,我發現自己是個「小眾」患者,不喜歡走尋常路。就像Linux在桌面領域可能已經夠小眾了,但我喜歡用更小眾的FreeBSD。

這只是我的一次嘗試而已。

實踐

原則:基於MVC模式,增加Service層。

    C層
前面我們說過,Typecho中自創了Action概念,這便是我們C層的基礎,但Action沒有明確的定義。所以我會定義出一個Controller基底類別。

    M層
Typecho中沒有Model的概念,都是直接呼叫SQL查詢。所以也要定義Model基底類別。

    V層
視圖文件是View的內容載體,為減少學習成本,不再引入模板引擎,即直接使用

PHP語法並直接引人C中執行。

    Service層
在複雜應用中,MVC最大的問題就是可重用的程式碼提煉不夠,有的人C層太胖,有的人M層太胖。引入Service業務層,有助於業務層的提煉和封裝,盡可能提高程式碼的重複使用度。

Demo項目:Typecho Alumni校友錄插件項目

代碼地址:https://

github.com/web3d/plugins/tree/master/Alumni

項目代碼結構:

/plugins/Alumni/Base/ Action.php|Model.php|Service.php|Helper.php

/plugins/Alumni/Model/
/plugins/Alumni/Service/
/plugins/Alumni/Action/
/plugins/Alumni/views/default/

/plugins/Alumni/Plugin.php

/plugins/Alumni/panel.php

==========

未完待續...

以上就介紹了基於Typecho CMS框架開發大中型應用,包括了PHP語法,github方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板