跳到主要內容
文件

開發者指南

架構概覽

整理在 Zittme 上製作模組・面板・版面・佈景主題之前,需要了解的最基本結構。

與 Rhymix 的關係

Zittme 是從 Rhymix 2.1.35 分支出來的 GPL v2 引擎。從第三方製作的角度來看,重要的是相容性。

  • 核心命名空間為 Zittme\。Rhymix\ 作為相容別名保留,因此既有的 Rhymix 模組呼叫 Rhymix\Framework\... 也能照常運作。
  • 新撰寫的程式碼請以 Zittme\ 為準。
  • 為 Rhymix 製作的模組・面板・版面大多不需修改即可運作。Zittme 獨有的功能(佈景主題套件、重複欄位、響應式顯示)設計為安裝到 Rhymix 時只會被忽略,不會產生錯誤。

資料夾結構

路徑內容
common/framework/核心框架類別(Zittme\Framework\...)
classes/舊版核心類別(Context、ModuleHandler 等)
modules/模組。功能的基本單位
layouts/、m.layouts/版面(PC / 行動版專用)
themes/佈景主題套件
addons/附加元件(在請求處理過程中介入的輕量擴充)
widgets/小工具
files/上傳檔案・快取・設定。屬於網站資料,不包含在發行版中

請求流程

所有請求都從 index.php 進入,並以兩個值決定要執行的程式碼。

  • mid:模組實例名稱。在網站地圖中建立的「一個討論區、一個頁面」各自是一個 mid。它會成為網址的第一段(/board、/manual)。
  • act:要執行的動作名稱(dispBoardContent、procBoardInsertDocument)。只有在模組的 conf/module.xml 中宣告的動作才會執行。

動作名稱有規則。

前綴意義呼叫方式
disp繪製畫面GET
proc處理資料POST(自動檢查 CSRF 權杖)
getApi 等回傳資料依用途而定

若要讓網址像 mid/document-number、mid/write 這樣簡潔,請為動作宣告路由。這部分在模組製作文件中說明。

資料庫

不直接撰寫 SQL。查詢以 XML 檔案(queries/*.xml)宣告,並以 executeQuery('module.query', $args) 執行。資料表也以 XML(schemas/*.xml)宣告,安裝模組時核心會自動建立。詳細內容請參閱查詢 XML。

範本

畫面以範本檔案(HTML)繪製。語法有兩個世代並存。

  • v2(建議):檔案第一行為 @version(2)。@if / @foreach / {{ }} 風格
  • v1(舊版):cond=""、loop="" 屬性風格。用於相容既有資源

新資源請以 v2 製作。請參考範本語法 v2。

擴充方式摘要

想製作的東西手段文件
新功能(包含 DB、管理畫面)模組模組製作
既有模組的外觀模組面板面板・版面製作
整個網站的框架版面面板・版面製作
版面+面板組合佈景主題套件製作佈景主題套件
介入所有請求的輕量動作附加元件(規劃中)
可插入版面任何位置的內容片段小工具(規劃中)