Bỏ qua để đến nội dung

Tham khảo XOOPS API

Chào mừng bạn đến với tài liệu tham khảo XOOPS API toàn diện. Phần này cung cấp tài liệu chi tiết cho tất cả classes cốt lõi, các phương pháp và hệ thống tạo nên Hệ thống quản lý nội dung XOOPS.

XOOPS API được tổ chức thành một số hệ thống con chính, mỗi hệ thống chịu trách nhiệm về một khía cạnh cụ thể của chức năng CMS. Hiểu các API này là điều cần thiết để phát triển modules, themes và các tiện ích mở rộng cho XOOPS.

Nền tảng classes mà tất cả các thành phần XOOPS khác đều xây dựng dựa trên đó.

Tài liệuMô tả
XoopsObjectCơ sở class cho tất cả các đối tượng dữ liệu trong XOOPS
XoopsObjectHandlerMẫu trình xử lý cho các hoạt động CRUD

Các tiện ích xây dựng truy vấn và trừu tượng hóa cơ sở dữ liệu.

Tài liệuMô tả
Cơ sở dữ liệu XoopsLớp trừu tượng cơ sở dữ liệu
Hệ thống tiêu chíTiêu chí và điều kiện truy vấn
Trình tạo truy vấnXây dựng truy vấn thông thạo hiện đại

Tạo và xác thực biểu mẫu HTML.

Tài liệuMô tả
XoopsFormVùng chứa và hiển thị biểu mẫu
Các phần tử biểu mẫuTất cả các loại phần tử biểu mẫu có sẵn

Các thành phần và dịch vụ của hệ thống cốt lõi.

Tài liệuMô tả
Lớp hạt nhânHệ thống kernel và các thành phần cốt lõi

Quản lý mô-đun và vòng đời.

Tài liệuMô tả
Hệ thống mô-đunTải, cài đặt và quản lý mô-đun

Tích hợp mẫu Smarty.

Tài liệuMô tả
Hệ thống mẫuQuản lý mẫu và tích hợp Smarty

Quản lý và xác thực người dùng.

Tài liệuMô tả
Hệ thống người dùngTài khoản người dùng, nhóm và quyền
flowchart TB
subgraph "Foundation Layer"
XO[XoopsObject<br/>Base Class]
XD[XoopsDatabase<br/>DB Abstraction]
XF[XoopsForm<br/>Form Generation]
end
subgraph "Handler Layer"
XOH[XoopsObjectHandler<br/>CRUD Operations]
CR[Criteria<br/>Query Building]
XFE[XoopsFormElement<br/>Input Types]
end
subgraph "Module Layer"
XM[XoopsModule<br/>Module Management]
end
subgraph "Presentation Layer"
XT[XoopsTpl<br/>Template Engine]
end
XO --> XOH
XD --> CR
XF --> XFE
XOH --> XM
CR --> XM
XFE --> XM
XM --> XT
classDiagram
class XoopsObject {
<<Base>>
+getVar()
+setVar()
+toArray()
}
XoopsObject <|-- XoopsUser
XoopsObject <|-- XoopsGroup
XoopsObject <|-- XoopsModule
XoopsObject <|-- XoopsBlock
XoopsObject <|-- XoopsComment
XoopsObject <|-- XoopsNotification
classDiagram
class XoopsObjectHandler {
<<Base>>
+create()
+get()
+insert()
+delete()
}
class XoopsPersistableObjectHandler {
+getObjects()
+getCount()
+deleteAll()
}
XoopsObjectHandler <|-- XoopsPersistableObjectHandler
XoopsPersistableObjectHandler <|-- XoopsUserHandler
XoopsPersistableObjectHandler <|-- XoopsGroupHandler
XoopsPersistableObjectHandler <|-- XoopsModuleHandler
XoopsPersistableObjectHandler <|-- XoopsBlockHandler
XoopsObjectHandler <|-- CustomModuleHandlers
classDiagram
class XoopsForm {
<<Base>>
+addElement()
+render()
+display()
}
XoopsForm <|-- XoopsThemeForm
XoopsForm <|-- XoopsSimpleForm
class XoopsFormElement {
<<Base>>
+getName()
+render()
+getValue()
}
XoopsFormElement <|-- XoopsFormText
XoopsFormElement <|-- XoopsFormTextArea
XoopsFormElement <|-- XoopsFormSelect
XoopsFormElement <|-- XoopsFormCheckBox
XoopsFormElement <|-- XoopsFormRadio
XoopsFormElement <|-- XoopsFormButton
XoopsFormElement <|-- XoopsFormFile
XoopsFormElement <|-- XoopsFormHidden
XoopsFormElement <|-- XoopsFormLabel
XoopsFormElement <|-- XoopsFormPassword
XoopsFormElement <|-- XoopsFormEditor

XOOPS API triển khai một số mẫu thiết kế nổi tiếng:

Được sử dụng cho các dịch vụ toàn cầu như kết nối cơ sở dữ liệu và phiên bản vùng chứa.

$db = XoopsDatabase::getInstance();
$container = XoopsContainer::getInstance();

Trình xử lý đối tượng tạo các đối tượng miền một cách nhất quán.

$handler = xoops_getHandler('user');
$user = $handler->create();

Biểu mẫu chứa nhiều thành phần biểu mẫu; tiêu chí có thể chứa các tiêu chí lồng nhau.

$criteria = new CriteriaCompo();
$criteria->add(new Criteria('status', 1));
$criteria->add(new CriteriaCompo(...)); // Nested

Hệ thống sự kiện cho phép ghép nối lỏng lẻo giữa modules.

$dispatcher->addListener('module.news.article_published', $callback);
// Get the handler
$handler = xoops_getHandler('user');
// Create a new object
$user = $handler->create();
$user->setVar('uname', 'newuser');
$user->setVar('email', 'user@example.com');
// Save to database
$handler->insert($user);
// Build criteria
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('level', 0, '>'));
$criteria->setSort('uname');
$criteria->setOrder('ASC');
$criteria->setLimit(10);
// Get objects
$handler = xoops_getHandler('user');
$users = $handler->getObjects($criteria);
$form = new XoopsThemeForm('User Profile', 'userform', 'save.php', 'post', true);
$form->addElement(new XoopsFormText('Username', 'uname', 50, 255, $user->getVar('uname')));
$form->addElement(new XoopsFormTextArea('Bio', 'bio', $user->getVar('bio')));
$form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
echo $form->render();

Quy ước đặt tên| Loại | Công ước | Ví dụ |

Phần tiêu đề “Quy ước đặt tên| Loại | Công ước | Ví dụ |”

|------|-------------|----------| | Lớp học | PascalCase | XoopsUser, CriteriaCompo | | Phương pháp | lạc đàCase | getVar(), setVar() | | Thuộc tính | CamelCase (được bảo vệ) | $_vars, $_handler | | Hằng số | UPPER_SNAKE_CASE | XOBJ_DTYPE_INT | | Bảng cơ sở dữ liệu | trường hợp rắn | users, groups_users_link |

XOOPS xác định các kiểu dữ liệu tiêu chuẩn cho các biến đối tượng:

Hằng sốLoạiMô tả
XOBJ_DTYPE_TXTBOXChuỗiNhập văn bản (đã vệ sinh)
XOBJ_DTYPE_TXTAREAChuỗiNội dung vùng văn bản
XOBJ_DTYPE_INTSố nguyênGiá trị số
XOBJ_DTYPE_URLChuỗiXác thực URL
XOBJ_DTYPE_EMAILChuỗiXác thực email
XOBJ_DTYPE_ARRAYMảngMảng nối tiếp
XOBJ_DTYPE_OTHERHỗn hợpXử lý tùy chỉnh
XOBJ_DTYPE_SOURCEChuỗiMã nguồn (khử trùng tối thiểu)
XOBJ_DTYPE_STIMESố nguyênDấu thời gian ngắn
XOBJ_DTYPE_MTIMESố nguyênDấu thời gian trung bình
XOBJ_DTYPE_LTIMESố nguyênDấu thời gian dài

API hỗ trợ nhiều phương thức xác thực:

X-API-Key: your-api-key
Authorization: Bearer your-oauth-token

Sử dụng phiên XOOPS hiện có khi đăng nhập.

Khi REST API được bật:

Điểm cuốiPhương phápMô tả
/api.php/rest/usersNHẬNLiệt kê người dùng
/api.php/rest/users/{id}NHẬNNhận người dùng theo ID
/api.php/rest/usersĐĂNGTạo người dùng
/api.php/rest/users/{id}ĐƯACập nhật người dùng
/api.php/rest/users/{id}XÓAXóa người dùng
/api.php/rest/modulesNHẬNDanh sách modules
  • Hướng dẫn phát triển mô-đun
  • Hướng dẫn phát triển chủ đề
  • Cấu hình hệ thống
  • Thực tiễn tốt nhất về bảo mật
Phiên bảnThay đổi
2.5.11Bản phát hành ổn định hiện tại
2.5.10Đã thêm hỗ trợ GraphQL API
2.5.9Hệ thống tiêu chí nâng cao
2.5.8Hỗ trợ tự động tải PSR-4

Tài liệu này là một phần của Cơ sở Kiến thức XOOPS. Để biết các bản cập nhật mới nhất, hãy truy cập kho lưu trữ XOOPS GitHub.