“XMF框架”
2.5.x ✅ 4.0.x ✅
XOOPS 模区块框架 (XMF) 是一个功能强大的库,旨在简化和标准化XOOPS 模区块开发。 XMF 提供了现代的 PHP 实践,包括命名空间、自动加载和一套全面的帮助程序类,可减少样板代码并提高可维护性。
XMF 是什么?
Section titled “XMF 是什么?”XMF 是类和实用程序的集合,提供:
- 现代PHP支持 - PSR-4自动加载的完整命名空间支持
- 请求处理 - 安全输入验证和清理
- 模区块助手 - 简化对模区块配置和对象的访问
- 权限系统 - 轻松-to-use权限管理
- 数据库实用程序 - 架构迁移和表管理工具
- JWT 支持 - JSON 用于安全身份验证的 Web 令牌实施
- 元数据生成 - SEO 和内容提取实用程序
- 管理界面 - 标准化模区块管理页面
XMF 组件概述
Section titled “XMF 组件概述”graph TB subgraph XMF["XMF Framework"] direction TB subgraph Core["Core Components"] Request["🔒 Request<br/>Input Handling"] Module["📦 Module Helper<br/>Config & Handlers"] Perm["🔑 Permission<br/>Access Control"] end
subgraph Utils["Utilities"] DB["🗄️ Database<br/>Schema Tools"] JWT["🎫 JWT<br/>Token Auth"] Meta["📊 Metagen<br/>SEO Utils"] end
subgraph Admin["Admin Tools"] AdminUI["🎨 Admin UI<br/>Standardized Pages"] Icons["🖼️ Icons<br/>Font Awesome"] end end
subgraph Module["Your Module"] Controller["Controller"] Handler["Handler"] Template["Template"] end
Controller --> Request Controller --> Module Controller --> Perm Handler --> DB Template --> AdminUI
style XMF fill:#e3f2fd,stroke:#1976d2 style Core fill:#e8f5e9,stroke:#388e3c style Utils fill:#fff3e0,stroke:#f57c00 style Admin fill:#fce4ec,stroke:#c2185b命名空间和自动加载
Section titled “命名空间和自动加载”所有 XMF 类都驻留在 XMF 命名空间中。类在引用时会自动加载 - 无需包含手册。
use Xmf\Request;use Xmf\Module\Helper;
// Classes load automatically when used$input = Request::getString('input', '');$helper = Helper::getHelper('mymodule');安全请求处理
Section titled “安全请求处理”Request class提供对HTTP请求数据的类型-safe访问,并内置-in清理:
flowchart LR subgraph Input["Raw Input"] GET["$_GET"] POST["$_POST"] REQUEST["$_REQUEST"] end
subgraph XMF["Xmf\\Request"] Validate["Type Validation"] Sanitize["Sanitization"] Default["Default Values"] end
subgraph Output["Safe Output"] Int["getInt()"] Str["getString()"] Email["getEmail()"] Bool["getBool()"] end
GET --> XMF POST --> XMF REQUEST --> XMF XMF --> Int XMF --> Str XMF --> Email XMF --> Bool
style Input fill:#ffcdd2,stroke:#c62828 style XMF fill:#fff3e0,stroke:#f57c00 style Output fill:#c8e6c9,stroke:#2e7d32use Xmf\Request;
$id = Request::getInt('id', 0);$name = Request::getString('name', '');$email = Request::getEmail('email', '');模区块助手系统
Section titled “模区块助手系统”Module Helper提供对模区块-related功能的便捷访问:
$helper = \Xmf\Module\Helper::getHelper('mymodule');
// Access module configuration$configValue = $helper->getConfig('setting_name', 'default');
// Get module object$module = $helper->getModule();
// Access handlers$handler = $helper->getHandler('items');Permission-Helper 简化了 XOOPS 权限处理:
$permHelper = new \Xmf\Module\Helper\Permission();
// Check user permissionif ($permHelper->checkPermission('view', $itemId)) { // User has permission}- Getting-Started-with-XMF - 安装和基本使用
- XMF-Request - 请求处理和输入验证
- XMF-Module-Helper - 模区块助手类的使用
- Permission-Helper - 使用权限
- Module-Admin-Pages - 创建标准化管理界面
- XOOPS2.5.8 或更高版本
- PHP 7.2 或更高版本(推荐PHP 8.x)
XMF 包含在 XOOPS 2.5.8 及更高版本中。对于早期版本或手动安装:
- 从 XOOPS 存储库下载 XMF 软件包
2.解压到您的XOOPS
/class/xmf/目录 - 自动加载器会自动处理类加载
快速入门示例
Section titled “快速入门示例”以下是显示常见 XMF 使用模式的完整示例:
<?phpuse Xmf\Request;use Xmf\Module\Helper;use Xmf\Module\Helper\Permission;
// Get module helper$helper = Helper::getHelper('mymodule');
// Get configuration values$itemsPerPage = $helper->getConfig('items_per_page', 10);
// Handle request input$op = Request::getCmd('op', 'list');$id = Request::getInt('id', 0);
// Check permissions$permHelper = new Permission();if (!$permHelper->checkPermission('view', $id)) { redirect_header('index.php', 3, 'Access denied');}
// Process based on operationswitch ($op) { case 'view': $handler = $helper->getHandler('items'); $item = $handler->get($id); // ... display item break; case 'list': default: // ... list items break;}#xmf #XOOPS #框架#php #模区块-development