Rámec XMF
2.5.x ✅ 4.0.x ✅
XOOPS Module Framework (XMF) je výkonná knihovna navržená pro zjednodušení a standardizaci vývoje modulů XOOPS. XMF poskytuje moderní postupy PHP včetně jmenných prostorů, automatického načítání a komplexní sady pomocných tříd, které snižují standardní kód a zlepšují udržovatelnost.
Co je XMF?
Sekce “Co je XMF?”XMF je kolekce tříd a nástrojů, které poskytují:
- Moderní podpora PHP - Plná podpora jmenného prostoru s automatickým načítáním PSR-4
- Vyřizování požadavků - Bezpečné ověření vstupu a dezinfekce
- Pomocníci modulů - Zjednodušený přístup ke konfiguracím modulů a objektům
- Systém oprávnění - Snadno použitelná správa oprávnění
- Databázové nástroje - Nástroje pro migraci schémat a správu tabulek
- Podpora JWT - Implementace webového tokenu JSON pro bezpečné ověřování
- Generování metadat - SEO a nástroje pro extrakci obsahu
- Administrátorské rozhraní - Standardizované stránky pro správu modulů
Přehled komponent XMF
Sekce “Přehled komponent 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:#c2185bKlíčové vlastnosti
Sekce “Klíčové vlastnosti”Jmenné prostory a automatické načítání
Sekce “Jmenné prostory a automatické načítání”Všechny třídy XMF jsou umístěny v oboru názvů XMF. Třídy se automaticky načtou, když se na ně odkazuje – není vyžadován žádný manuál.
use XMF\Request;use XMF\Module\Helper;
// Classes load automatically when used$input = Request::getString('input', '');$helper = Helper::getHelper('mymodule');Bezpečné vyřizování požadavků
Sekce “Bezpečné vyřizování požadavků”Třída požadavku poskytuje typově bezpečný přístup k datům požadavků HTTP s vestavěnou dezinfekcí:
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', '');Pomocný modulový systém
Sekce “Pomocný modulový systém”Module Helper poskytuje pohodlný přístup k funkcím souvisejícím s modulem:
$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');Správa oprávnění
Sekce “Správa oprávnění”Permission-Helper zjednodušuje zpracování oprávnění XOOPS:
$permHelper = new \XMF\Module\Helper\Permission();
// Check user permissionif ($permHelper->checkPermission('view', $itemId)) { // User has permission}Struktura dokumentace
Sekce “Struktura dokumentace”Základy
Sekce “Základy”- Začínáme-s-XMF - Instalace a základní použití
- XMF-Request - Zpracování požadavků a ověření vstupu
- XMF-Module-Helper - Použití pomocné třídy modulu
Recepty
Sekce “Recepty”- Permission-Helper - Práce s oprávněními
- Module-Admin-Pages - Vytváření standardizovaných rozhraní pro správu
Reference
Sekce “Reference”- JWT - Implementace webového tokenu JSON
- Databáze - Databázové nástroje a správa schémat
- Metagen - Metadata a nástroje SEO
Požadavky
Sekce “Požadavky”- XOOPS 2.5.8 nebo novější
- PHP 7.2 nebo novější (doporučeno PHP 8.x)
Instalace
Sekce “Instalace”XMF je součástí XOOPS 2.5.8 a novějších verzí. Pro starší verze nebo ruční instalaci:
- Stáhněte si balíček XMF z úložiště XOOPS
- Extrahujte do svého adresáře XOOPS
/class/xmf/ - Autoloader zpracuje načítání třídy automaticky
Příklad rychlého startu
Sekce “Příklad rychlého startu”Zde je úplný příklad ukazující běžné vzorce použití 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;}Zdroje
Sekce “Zdroje”#xmf #xoops #framework #php #module-development