چارچوب XMF
2.5.x ✅ 4.0.x ✅
:::tip [پلی به XOOPS مدرن] XMF در XOOPS 2.5.x و XOOPS 4.0.x کار می کند. این روش پیشنهادی برای مدرن کردن ماژولهای امروزی هنگام آماده شدن برای XOOPS 4.0 است. XMF بارگذاری خودکار PSR-4، فضاهای نام و کمکی را فراهم می کند که انتقال را هموار می کند. :::
چارچوب ماژول XOOPS (XMF) یک کتابخانه قدرتمند است که برای ساده سازی و استانداردسازی توسعه ماژول XOOPS طراحی شده است. XMF شیوههای مدرن PHP از جمله فضاهای نام، بارگذاری خودکار و مجموعهای جامع از کلاسهای کمکی را ارائه میکند که کد دیگ بخار را کاهش میدهد و قابلیت نگهداری را بهبود میبخشد.
XMF چیست؟
Section titled “XMF چیست؟”XMF مجموعه ای از کلاس ها و برنامه های کاربردی است که ارائه می دهد:
- پشتیبانی مدرن PHP - پشتیبانی کامل از فضای نام با بارگیری خودکار PSR-4
- ** رسیدگی به درخواست ** - اعتبار سنجی ورودی و پاکسازی ایمن
- ** Helpers ماژول ** - دسترسی ساده به تنظیمات و اشیاء ماژول
- ** سیستم مجوز ** - مدیریت مجوز با کاربری آسان
- ** ابزارهای پایگاه داده ** - انتقال طرحواره و ابزارهای مدیریت جدول
- ** پشتیبانی JWT ** - پیاده سازی JSON Web Token برای احراز هویت ایمن
- تولید فراداده - ابزارهای 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 “ویژگی های کلیدی”فضاهای نام و بارگیری خودکار
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 “رسیدگی ایمن به درخواست”کلاس درخواست دسترسی ایمن به داده های درخواست HTTP را با پاکسازی داخلی فراهم می کند:
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 “سیستم کمکی ماژول”Helper Module دسترسی راحت به عملکردهای مرتبط با ماژول را فراهم می کند:
$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');مدیریت مجوز
Section titled “مدیریت مجوز”Permission-Helper مدیریت مجوز XOOPS را ساده می کند:
$permHelper = new \XMF\Module\Helper\Permission();
// Check user permissionif ($permHelper->checkPermission('view', $itemId)) { // User has permission}ساختار اسناد و مدارک
Section titled “ساختار اسناد و مدارک”- Getting-Started-with-XMF - نصب و استفاده اولیه
- XMF-Request - رسیدگی به درخواست و اعتبارسنجی ورودی
- XMF-Module-Helper - استفاده از کلاس کمکی ماژول
دستور پخت
Section titled “دستور پخت”- Permission-Helper - کار با مجوزها
- Module-Admin-Pages - ایجاد رابط های مدیریت استاندارد
- JWT - پیاده سازی JSON Web Token
- پایگاه داده - ابزارهای پایگاه داده و مدیریت طرحواره
- Metagen - ابزارهای ابرداده و SEO
الزامات
Section titled “الزامات”- XOOPS 2.5.8 یا بالاتر
- PHP 7.2 یا بالاتر (PHP 8.x توصیه می شود)
XMF با XOOPS 2.5.8 و نسخه های جدیدتر گنجانده شده است. برای نسخه های قبلی یا نصب دستی:
- بسته XMF را از مخزن XOOPS دانلود کنید
- در فهرست 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 #framework #php #توسعه ماژول