XMF Πλαίσιο
2.5.x ✅ 4.0.x ✅
Το XOOPS Module Framework (XMF) είναι μια ισχυρή βιβλιοθήκη που έχει σχεδιαστεί για να απλοποιεί και να τυποποιεί την ανάπτυξη λειτουργικών μονάδων XOOPS. Το XMF παρέχει σύγχρονες πρακτικές PHP, συμπεριλαμβανομένων χώρων ονομάτων, αυτόματης φόρτωσης και ένα ολοκληρωμένο σύνολο βοηθητικών κλάσεων που μειώνουν τον κώδικα λέβητα και βελτιώνουν τη συντηρησιμότητα.
Τι είναι το XMF;
Ενότητα με τίτλο «Τι είναι το XMF;»Το XMF είναι μια συλλογή κλάσεων και βοηθητικών προγραμμάτων που παρέχουν:
- Σύγχρονη PHP Υποστήριξη - Πλήρης υποστήριξη χώρου ονομάτων με αυτόματη φόρτωση PSR-4
- Διαχείριση αιτημάτων - Ασφαλής επικύρωση εισόδου και απολύμανση
- Βοηθοί ενότητας - Απλοποιημένη πρόσβαση σε διαμορφώσεις και αντικείμενα λειτουργικών μονάδων
- Σύστημα αδειών - Εύχρηστη διαχείριση αδειών
- Βοηθητικά προγράμματα βάσης δεδομένων - Εργαλεία μετεγκατάστασης σχήματος και διαχείρισης πινάκων
- JWT Υποστήριξη - JSON Εφαρμογή Web Token για ασφαλή έλεγχο ταυτότητας
- Δημιουργία μεταδεδομένων - SEO και βοηθητικά προγράμματα εξαγωγής περιεχομένου
- Διασύνδεση διαχειριστή - Τυποποιημένες σελίδες διαχείρισης λειτουργικών μονάδων
# XMF Επισκόπηση στοιχείων
Ενότητα με τίτλο «# 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Βασικά χαρακτηριστικά
Ενότητα με τίτλο «Βασικά χαρακτηριστικά»# Χώροι ονομάτων και αυτόματη φόρτωση
Ενότητα με τίτλο «# Χώροι ονομάτων και αυτόματη φόρτωση»Όλες οι κλάσεις XMF βρίσκονται στον χώρο ονομάτων XMF. Οι τάξεις φορτώνονται αυτόματα όταν αναφέρονται - δεν απαιτείται εγχειρίδιο.
use Xmf\Request;use Xmf\Module\Helper;
// Classes load automatically when used$input = Request::getString('input', '');$helper = Helper::getHelper('mymodule');# Ασφαλής χειρισμός αιτημάτων
Ενότητα με τίτλο «# Ασφαλής χειρισμός αιτημάτων»Η Request class παρέχει πρόσβαση με ασφάλεια τύπου σε δεδομένα αιτήματος 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', '');# Σύστημα βοήθειας ενότητας
Ενότητα με τίτλο «# Σύστημα βοήθειας ενότητας»Το Module Helper παρέχει εύκολη πρόσβαση σε λειτουργίες που σχετίζονται με την ενότητα:
$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 - Δημιουργία τυποποιημένων διεπαφών διαχειριστή
# Αναφορά
Ενότητα με τίτλο «# Αναφορά»- JWT - JSON Υλοποίηση Web Token
- Βάση δεδομένων - Βοηθητικά προγράμματα βάσεων δεδομένων και διαχείριση σχημάτων
- Metagen - Μεταδεδομένα και SEO βοηθητικά προγράμματα
Απαιτήσεις
Ενότητα με τίτλο «Απαιτήσεις»- XOOPS 2.5.8 ή μεταγενέστερη
- PHP 7.2 ή μεταγενέστερη (συνιστάται PHP 8.x)
Εγκατάσταση
Ενότητα με τίτλο «Εγκατάσταση»Το XMF περιλαμβάνεται με το XOOPS 2.5.8 και νεότερες εκδόσεις. Για παλαιότερες εκδόσεις ή μη αυτόματη εγκατάσταση:
- Κατεβάστε το πακέτο XMF από το αποθετήριο XOOPS
- Εξαγωγή στον κατάλογό σας XOOPS
/class/XMF/ - Η αυτόματη φόρτωση θα χειριστεί αυτόματα τη φόρτωση της τάξης
Παράδειγμα γρήγορης εκκίνησης
Ενότητα με τίτλο «Παράδειγμα γρήγορης εκκίνησης»Ακολουθεί ένα πλήρες παράδειγμα που δείχνει κοινά μοτίβα χρήσης 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;}