إطار عمل XMF
2.5.x ✅ 4.0.x ✅
إطار عمل وحدات XOOPS (XMF) هو مكتبة قوية مصممة لتبسيط وتوحيد تطوير وحدات XOOPS. يوفر XMF ممارسات PHP الحديثة بما في ذلك المساحات والتحميل التلقائي ومجموعة شاملة من فئات المساعد التي تقلل من الأنماط الحالية وتحسن الصيانة.
ما هو XMF؟
Section titled “ما هو XMF؟”XMF هي مجموعة من الفئات والأدوات التي توفر:
- دعم PHP الحديث - دعم مساحة أسماء كامل مع تحميل PSR-4 التلقائي
- معالجة الطلب - التحقق من صحة المدخلات الآمنة والمعالجة
- مساعدات الوحدة - وصول مبسط إلى تكوينات وكائنات الوحدة
- نظام الإذن - إدارة الأذونات سهلة الاستخدام
- أدوات قاعدة البيانات - أدوات هجرة الحمل وإدارة الجداول
- دعم JWT - تنفيذ رمز الويب JSON للمصادقة الآمنة
- توليد البيانات الوصفية - أدوات المحتوى المستخرجة من SEO
- واجهة الإدارة - صفحات إدارة الوحدة الموحدة
نظرة عامة على مكونات XMF
Section titled “نظرة عامة على مكونات XMF”graph TB subgraph XMF["إطار عمل XMF"] direction TB subgraph Core["المكونات الأساسية"] Request["🔒 Request<br/>معالجة الإدخال"] Module["📦 مساعد الوحدة<br/>التكوين والمعالجات"] Perm["🔑 الإذن<br/>التحكم في الوصول"] end
subgraph Utils["الأدوات"] DB["🗄️ قاعدة البيانات<br/>أدوات الحمل"] JWT["🎫 JWT<br/>مصادقة الرمز"] Meta["📊 Metagen<br/>أدوات SEO"] end
subgraph Admin["أدوات الإدارة"] AdminUI["🎨 واجهة الإدارة<br/>الصفحات الموحدة"] Icons["🖼️ الرموز<br/>Font Awesome"] end end
subgraph Module["وحدتك"] Controller["المراقب"] Handler["المعالج"] 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. يتم تحميل الفئات تلقائيا عند الإشارة إليها - لا توجد ملفات include يدوية مطلوبة.
use Xmf\Request;use Xmf\Module\Helper;
// تحميل الفئات تلقائيا عند الاستخدام$input = Request::getString('input', '');$helper = Helper::getHelper('mymodule');معالجة طلب آمنة
Section titled “معالجة طلب آمنة”توفر فئة Request وصول آمن من حيث النوع لبيانات طلب HTTP مع المعالجة المدمجة:
flowchart LR subgraph Input["الإدخال الخام"] GET["$_GET"] POST["$_POST"] REQUEST["$_REQUEST"] end
subgraph XMF["Xmf\\Request"] Validate["التحقق من النوع"] Sanitize["المعالجة"] Default["القيم الافتراضية"] end
subgraph 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 = \Xmf\Module\Helper::getHelper('mymodule');
// وصول تكوين الوحدة$configValue = $helper->getConfig('setting_name', 'default');
// الحصول على كائن الوحدة$module = $helper->getModule();
// وصول المعالجات$handler = $helper->getHandler('items');إدارة الأذونات
Section titled “إدارة الأذونات”يبسط Permission-Helper معالجة الأذونات في XOOPS:
$permHelper = new \Xmf\Module\Helper\Permission();
// التحقق من أذن المستخدمif ($permHelper->checkPermission('view', $itemId)) { // المستخدم لديه إذن}هيكل التوثيق
Section titled “هيكل التوثيق”أساسيات
Section titled “أساسيات”- Getting-Started-with-XMF - التثبيت والاستخدام الأساسي
- XMF-Request - معالجة الطلب والتحقق من صحة المدخلات
- XMF-Module-Helper - استخدام فئة مساعد الوحدة
الوصفات
Section titled “الوصفات”- Permission-Helper - العمل مع الأذونات
- Module-Admin-Pages - إنشاء واجهات إدارة موحدة
- JWT - تنفيذ رمز الويب JSON
- Database - أدوات قاعدة البيانات وإدارة الحمل
- Metagen - أدوات البيانات الوصفية و SEO
المتطلبات
Section titled “المتطلبات”- XOOPS 2.5.8 أو إصدار أحدث
- PHP 7.2 أو إصدار أحدث (يُنصح PHP 8.x)
التثبيت
Section titled “التثبيت”يتم تضمين XMF مع XOOPS 2.5.8 والإصدارات الأحدث. للإصدارات السابقة أو التثبيت اليدوي:
- قم بتنزيل حزمة XMF من مستودع XOOPS
- قم بالاستخراج إلى مجلد
/class/xmf/في XOOPS الخاص بك - سيتولى المحمل التلقائي معالجة تحميل الفئة تلقائيا
مثال البدء السريع
Section titled “مثال البدء السريع”إليك مثال كامل يوضح أنماط استخدام XMF الشائعة:
<?phpuse Xmf\Request;use Xmf\Module\Helper;use Xmf\Module\Helper\Permission;
// احصل على مساعد الوحدة$helper = Helper::getHelper('mymodule');
// احصل على قيم التكوين$itemsPerPage = $helper->getConfig('items_per_page', 10);
// معالجة إدخال الطلب$op = Request::getCmd('op', 'list');$id = Request::getInt('id', 0);
// تحقق من الأذونات$permHelper = new Permission();if (!$permHelper->checkPermission('view', $id)) { redirect_header('index.php', 3, 'Access denied');}
// معالجة على أساس العمليةswitch ($op) { case 'view': $handler = $helper->getHandler('items'); $item = $handler->get($id); // ... عرض العنصر break; case 'list': default: // ... قائمة العناصر break;}الموارد
Section titled “الموارد”#xmf #xoops #framework #php #module-development