Chuyển đến nội dung
Tài liệu

Hướng dẫn cho nhà phát triển

Tổng quan kiến trúc

Tổng hợp cấu trúc tối thiểu bạn cần biết trước khi xây dựng mô-đun, skin, layout, giao diện trên Zittme.

Quan hệ với Rhymix

Zittme là engine GPL v2 tách ra từ Rhymix 2.1.35. Từ góc độ phát triển bên thứ ba, điều quan trọng là khả năng tương thích.

  • Namespace của lõi là Zittme\. Rhymix\ vẫn được giữ làm bí danh tương thích, nên mô-đun viết cho Rhymix gọi Rhymix\Framework\... vẫn hoạt động như cũ.
  • Mã mới hãy viết theo Zittme\.
  • Phần lớn mô-đun, skin, layout làm cho Rhymix đều hoạt động mà không cần sửa. Các tính năng riêng của Zittme (gói giao diện, trường lặp, hiển thị đáp ứng) được thiết kế để khi cài vào Rhymix chỉ bị bỏ qua chứ không gây lỗi.

Cấu trúc thư mục

Đường dẫnNội dung
common/framework/Các lớp framework lõi (Zittme\Framework\...)
classes/Các lớp lõi kiểu cũ (Context, ModuleHandler, v.v.)
modules/Mô-đun. Đơn vị cơ bản của tính năng
layouts/, m.layouts/Layout (PC / chỉ di động)
themes/Gói giao diện
addons/Add-on (phần mở rộng nhẹ xen vào giữa quá trình xử lý yêu cầu)
widgets/Widget
files/Tệp tải lên, bộ nhớ đệm, cài đặt. Là dữ liệu của website nên không đưa vào bản phân phối

Luồng yêu cầu

Mọi yêu cầu đều đi vào index.php và dùng hai giá trị để quyết định mã sẽ chạy.

  • mid: tên thể hiện của mô-đun. "Một bảng tin, một trang" tạo trong sơ đồ website đều là một mid. Nó trở thành phần đầu tiên của địa chỉ (/board, /manual).
  • act: tên action sẽ chạy (dispBoardContent, procBoardInsertDocument). Chỉ những action được khai báo trong conf/module.xml của mô-đun mới chạy được.

Tên action có quy tắc.

Tiền tốÝ nghĩaCách gọi
dispVẽ màn hìnhGET
procXử lý dữ liệuPOST (tự động kiểm tra token CSRF)
getApi, v.v.Trả về dữ liệuTùy mục đích

Để có địa chỉ gọn như mid/document-no, mid/write, hãy khai báo route cho action. Nội dung này có trong tài liệu Xây dựng mô-đun.

Cơ sở dữ liệu

Không viết SQL trực tiếp. Query được khai báo bằng tệp XML (queries/*.xml) và chạy bằng executeQuery('module.query', $args). Bảng cũng vậy, nếu khai báo bằng XML (schemas/*.xml) thì lõi sẽ tạo khi cài mô-đun. Chi tiết xem Query XML.

Template

Màn hình được vẽ bằng tệp template (HTML). Cú pháp có hai thế hệ cùng tồn tại.

  • v2 (khuyến nghị): @version(2) ở dòng đầu tệp. Kiểu @if / @foreach / {{ }}
  • v1 (cũ): kiểu thuộc tính cond="", loop="". Để tương thích với tài nguyên hiện có

Tài nguyên mới hãy làm bằng v2. Xem Cú pháp template v2.

Tóm tắt các cách mở rộng

Điều muốn làmPhương tiệnTài liệu
Tính năng mới (gồm DB, màn hình quản trị)Mô-đunXây dựng mô-đun
Diện mạo của mô-đun có sẵnSkin mô-đunXây dựng skin và layout
Khung của toàn websiteLayoutXây dựng skin và layout
Bộ layout + skinGói giao diệnTạo gói giao diện
Hành vi nhẹ xen vào mọi yêu cầuAdd-on(dự kiến)
Mảnh nội dung cắm vào bất cứ đâu trong layoutWidget(dự kiến)