Ανάπτυξη Ενοτήτων
Αυτή η ενότητα παρέχει ολοκληρωμένη τεκμηρίωση για την ανάπτυξη ενοτήτων XOOPS χρησιμοποιώντας σύγχρονες πρακτικές PHP, μοτίβα σχεδίασης και βέλτιστες πρακτικές.
Επισκόπηση
Ενότητα με τίτλο «Επισκόπηση»Η ανάπτυξη της ενότητας XOOPS έχει εξελιχθεί σημαντικά με τα χρόνια. Μόχλευση σύγχρονων μονάδων:
- MVC Αρχιτεκτονική - Καθαρός διαχωρισμός των ανησυχιών
- PHP 8.x Χαρακτηριστικά - Πληκτρολογήστε δηλώσεις, χαρακτηριστικά, ονομασμένα ορίσματα
- Μοτίβα σχεδίασης - Αποθετήριο, DTO, μοτίβα επιπέδου υπηρεσιών
- Δοκιμή - Μονάδα PHPU με σύγχρονες πρακτικές δοκιμών
- XMF Framework - XOOPS βοηθητικά προγράμματα ενότητας Framework
Δομή τεκμηρίωσης
Ενότητα με τίτλο «Δομή τεκμηρίωσης»# Σεμινάρια
Ενότητα με τίτλο «# Σεμινάρια»Βήμα προς βήμα οδηγοί για την κατασκευή μονάδων XOOPS από την αρχή.
- Tutorials/Hello-World-Module - Η πρώτη σας ενότητα XOOPS
- Tutorials/Building-a-CRUD-Module - Ολοκλήρωση λειτουργίας Δημιουργία, Ανάγνωση, Ενημέρωση, Διαγραφή
# Μοτίβα σχεδίασης
Ενότητα με τίτλο «# Μοτίβα σχεδίασης»Αρχιτεκτονικά μοτίβα που χρησιμοποιούνται στη σύγχρονη ανάπτυξη ενότητας XOOPS.
- Patterns/MVC-Pattern - Model-View-Controller αρχιτεκτονική
- Patterns/Repository-Pattern - Αφαίρεση πρόσβασης δεδομένων
- Patterns/DTO-Pattern - Αντικείμενα μεταφοράς δεδομένων για καθαρή ροή δεδομένων
# Βέλτιστες πρακτικές
Ενότητα με τίτλο «# Βέλτιστες πρακτικές»Οδηγίες για τη σύνταξη συντηρήσιμου, υψηλής ποιότητας κώδικα.
- Best-Practices/Clean-Code - Αρχές καθαρού κώδικα για XOOPS
- Best-Practices/Code-Smells - Κοινά αντι-μοτίβα και πώς να τα διορθώσετε
- Best-Practices/Testing - Στρατηγικές δοκιμών μονάδων PHPU
# Παραδείγματα
Ενότητα με τίτλο «# Παραδείγματα»Παραδείγματα ανάλυσης και υλοποίησης ενότητας πραγματικού κόσμου.
- Publisher-Module-Analysis - Βαθιά βουτιά στην ενότητα Publisher
Δομή καταλόγου ενότητας
Ενότητα με τίτλο «Δομή καταλόγου ενότητας»Μια καλά οργανωμένη ενότητα XOOPS ακολουθεί αυτή τη δομή καταλόγου:
/modules/mymodule/ /admin/ admin_header.php admin_footer.php index.php menu.php /assets/ /css/ /js/ /images/ /blocks/ myblock.php /class/ /Controller/ /Entity/ /Repository/ /Service/ /include/ common.php install.php uninstall.php update.php /language/ /english/ admin.php main.php modinfo.php /preloads/ core.php /sql/ mysql.sql /templates/ /admin/ /blocks/ main_index.tpl /test/ bootstrap.php /Unit/ /Integration/ index.php xoops_version.phpΕπεξήγηση αρχείων κλειδιών
Ενότητα με τίτλο «Επεξήγηση αρχείων κλειδιών»# xoops_version.php
Ενότητα με τίτλο «# xoops_version.php»The module definition file that tells XOOPS about your module:
<?php$modversion = [];
// Basic Information$modversion['name'] = 'My Module';$modversion['version'] = 1.00;$modversion['description'] = 'A sample XOOPS module';$modversion['author'] = 'Your Name';$modversion['credits'] = 'Your Team';$modversion['license'] = 'GPL 2.0 or later';$modversion['dirname'] = 'mymodule';$modversion['image'] = 'assets/images/logo.png';
// Module Flags$modversion['hasMain'] = 1; // Has frontend pages$modversion['hasAdmin'] = 1; // Has admin section$modversion['system_menu'] = 1; // Show in admin menu
// Admin Configuration$modversion['adminindex'] = 'admin/index.php';$modversion['adminmenu'] = 'admin/menu.php';
// Database$modversion['sqlfile']['mysql'] = 'sql/mysql.sql';$modversion['tables'] = [ 'mymodule_items', 'mymodule_categories',];
// Templates$modversion['templates'][] = [ 'file' => 'mymodule_index.tpl', 'description' => 'Index page template',];
// Blocks$modversion['blocks'][] = [ 'file' => 'myblock.php', 'name' => 'My Block', 'description' => 'Displays recent items', 'show_func' => 'mymodule_block_show', 'edit_func' => 'mymodule_block_edit', 'template' => 'mymodule_block.tpl',];
// Module Preferences$modversion['config'][] = [ 'name' => 'items_per_page', 'title' => '_MI_MYMODULE_ITEMS_PER_PAGE', 'description' => '_MI_MYMODULE_ITEMS_PER_PAGE_DESC', 'formtype' => 'textbox', 'valuetype' => 'int', 'default' => 10,];# Common Include File
Ενότητα με τίτλο «# Common Include File»Δημιουργήστε ένα κοινό αρχείο bootstrap για την ενότητα σας:
<?phpif (!defined('XOOPS_ROOT_PATH')) { die('XOOPS root path not defined');}
// Module constantsdefine('MYMODULE_DIRNAME', 'mymodule');define('MYMODULE_PATH', XOOPS_ROOT_PATH . '/modules/' . MYMODULE_DIRNAME);define('MYMODULE_URL', XOOPS_URL . '/modules/' . MYMODULE_DIRNAME);
// Autoload classesrequire_once MYMODULE_PATH . '/class/autoload.php';PHP Απαιτήσεις έκδοσης
Ενότητα με τίτλο «PHP Απαιτήσεις έκδοσης»Οι σύγχρονες ενότητες XOOPS θα πρέπει να στοχεύουν στο PHP 8.0 ή υψηλότερο για μόχλευση:
- Προώθηση ακινήτου κατασκευαστή
- ** Επώνυμα επιχειρήματα **
- ** Τύποι ένωσης **
- Εκφράσεις αντιστοίχισης
- Ιδιότητες
- Χειριστής Nullsafe
Ξεκινώντας
Ενότητα με τίτλο «Ξεκινώντας»- Ξεκινήστε με το σεμινάριο Tutorials/Hello-World-Module
- Πρόοδος στο Tutorials/Building-a-CRUD-Ενότητα
- Μελετήστε τα Patterns/MVC-Pattern για καθοδήγηση αρχιτεκτονικής
- Εφαρμόστε τις πρακτικές Best-Practices/Clean-Code παντού
- Εφαρμόστε το Best-Practices/Testing από την αρχή
Σχετικοί πόροι
Ενότητα με τίτλο «Σχετικοί πόροι»- ../05-XMF-Framework/XMF-Framework - XOOPS Βοηθητικά προγράμματα Module Framework
- Βάση δεδομένων-Λειτουργίες - Εργασία με τη βάση δεδομένων XOOPS
- ../04-API-Reference/Template/Template-System - Έξυπνο πρότυπο στο XOOPS
- ../02-Core-Concepts/Security/Security-Best-Practices - Ασφάλιση της μονάδας σας
Ιστορικό έκδοσης
Ενότητα με τίτλο «Ιστορικό έκδοσης»| Έκδοση | Ημερομηνία | Αλλαγές |
|---|---|---|
| 1,0 | 2025-01-28 | Αρχική τεκμηρίωση |