XOOPS APIΑναφορά
Καλώς ήρθατε στο ολοκληρωμένοXOOPS APIΤεκμηρίωση αναφοράς. Αυτή η ενότητα παρέχει λεπτομερή τεκμηρίωση για όλες τις βασικές κλάσεις, μεθόδους και συστήματα που αποτελούν τοXOOPSΣύστημα Διαχείρισης Περιεχομένου.
Επισκόπηση
Ενότητα με τίτλο «Επισκόπηση»ΤοXOOPS APIοργανώνεται σε πολλά μεγάλα υποσυστήματα, το καθένα υπεύθυνο για μια συγκεκριμένη πτυχή τουCMSλειτουργικότητα. Η κατανόηση αυτών των API είναι απαραίτητη για την ανάπτυξη λειτουργικών μονάδων, θεμάτων και επεκτάσεων γιαXOOPS.
APIΕνότητες
Ενότητα με τίτλο «APIΕνότητες»# Βασικές τάξεις
Ενότητα με τίτλο «# Βασικές τάξεις»Τα θεμέλια τάξεις που όλα τα άλλαXOOPSεξαρτήματα που βασίζονται.
| Τεκμηρίωση | Περιγραφή |
|---|---|
| XoopsObject | Βασική κλάση για όλα τα αντικείμενα δεδομένωνXOOPS |
| XoopsObjectHandler | Μοτίβο χειριστή γιαCRUDλειτουργίες |
# Επίπεδο βάσης δεδομένων
Ενότητα με τίτλο «# Επίπεδο βάσης δεδομένων»Βοηθητικά προγράμματα αφαίρεσης βάσεων δεδομένων και δημιουργίας ερωτημάτων.
| Τεκμηρίωση | Περιγραφή |
|---|---|
| Βάση δεδομένων XOOPS | Επίπεδο αφαίρεσης βάσης δεδομένων |
| Σύστημα κριτηρίων | Κριτήρια και προϋποθέσεις ερωτήματος |
| QueryBuilder | Σύγχρονο κτήριο με άπταιστα ερωτήματα |
# Σύστημα φόρμαςHTMLδημιουργία και επικύρωση φόρμας.
Ενότητα με τίτλο «# Σύστημα φόρμαςHTMLδημιουργία και επικύρωση φόρμας.»| Τεκμηρίωση | Περιγραφή |
|---|---|
| XoopsForm | Δοχείο φόρμας και απόδοση |
| Στοιχεία Μορφής | Όλοι οι διαθέσιμοι τύποι στοιχείων φόρμας |
# Τάξεις πυρήνα
Ενότητα με τίτλο «# Τάξεις πυρήνα»Βασικά στοιχεία και υπηρεσίες συστήματος.
| Τεκμηρίωση | Περιγραφή |
|---|---|
| Τάξεις πυρήνα | Πυρήνας συστήματος και βασικά στοιχεία |
# Σύστημα Ενοτήτων
Ενότητα με τίτλο «# Σύστημα Ενοτήτων»Διαχείριση ενοτήτων και κύκλος ζωής.
| Τεκμηρίωση | Περιγραφή |
|---|---|
| Σύστημα Ενοτήτων | Φόρτωση, εγκατάσταση και διαχείριση ενότητας |
# Σύστημα προτύπων
Ενότητα με τίτλο «# Σύστημα προτύπων»Έξυπνη ενσωμάτωση προτύπων.
| Τεκμηρίωση | Περιγραφή |
|---|---|
| Σύστημα προτύπων | Έξυπνη ενοποίηση και διαχείριση προτύπων |
# Σύστημα χρήστη
Ενότητα με τίτλο «# Σύστημα χρήστη»Διαχείριση χρηστών και έλεγχος ταυτότητας.
| Τεκμηρίωση | Περιγραφή |
|---|---|
| Σύστημα χρήστη | Λογαριασμοί χρηστών, ομάδες και δικαιώματα |
Επισκόπηση Αρχιτεκτονικής
Ενότητα με τίτλο «Επισκόπηση Αρχιτεκτονικής»flowchart TB subgraph "Foundation Layer" XO[XoopsObject<br/>Base Class] XD[XoopsDatabase<br/>DB Abstraction] XF[XoopsForm<br/>Form Generation] end
subgraph "Handler Layer" XOH[XoopsObjectHandler<br/>CRUD Operations] CR[Criteria<br/>Query Building] XFE[XoopsFormElement<br/>Input Types] end
subgraph "Module Layer" XM[XoopsModule<br/>Module Management] end
subgraph "Presentation Layer" XT[XoopsTpl<br/>Template Engine] end
XO --> XOH XD --> CR XF --> XFE XOH --> XM CR --> XM XFE --> XM XM --> XTΙεραρχία τάξης
Ενότητα με τίτλο «Ιεραρχία τάξης»# Μοντέλο αντικειμένου
Ενότητα με τίτλο «# Μοντέλο αντικειμένου»classDiagram class XoopsObject { <<Base>> +getVar() +setVar() +toArray() } XoopsObject <|-- XoopsUser XoopsObject <|-- XoopsGroup XoopsObject <|-- XoopsModule XoopsObject <|-- XoopsBlock XoopsObject <|-- XoopsComment XoopsObject <|-- XoopsNotification# Μοντέλο χειριστή
Ενότητα με τίτλο «# Μοντέλο χειριστή»classDiagram class XoopsObjectHandler { <<Base>> +create() +get() +insert() +delete() } class XoopsPersistableObjectHandler { +getObjects() +getCount() +deleteAll() } XoopsObjectHandler <|-- XoopsPersistableObjectHandler XoopsPersistableObjectHandler <|-- XoopsUserHandler XoopsPersistableObjectHandler <|-- XoopsGroupHandler XoopsPersistableObjectHandler <|-- XoopsModuleHandler XoopsPersistableObjectHandler <|-- XoopsBlockHandler XoopsObjectHandler <|-- CustomModuleHandlers# Μοντέλο φόρμας
Ενότητα με τίτλο «# Μοντέλο φόρμας»classDiagram class XoopsForm { <<Base>> +addElement() +render() +display() } XoopsForm <|-- XoopsThemeForm XoopsForm <|-- XoopsSimpleForm
class XoopsFormElement { <<Base>> +getName() +render() +getValue() } XoopsFormElement <|-- XoopsFormText XoopsFormElement <|-- XoopsFormTextArea XoopsFormElement <|-- XoopsFormSelect XoopsFormElement <|-- XoopsFormCheckBox XoopsFormElement <|-- XoopsFormRadio XoopsFormElement <|-- XoopsFormButton XoopsFormElement <|-- XoopsFormFile XoopsFormElement <|-- XoopsFormHidden XoopsFormElement <|-- XoopsFormLabel XoopsFormElement <|-- XoopsFormPassword XoopsFormElement <|-- XoopsFormEditorΜοτίβα σχεδίασης
Ενότητα με τίτλο «Μοτίβα σχεδίασης»ΤοXOOPS APIεφαρμόζει πολλά γνωστά σχέδια σχεδίασης:
# Μοτίβο Singleton
Ενότητα με τίτλο «# Μοτίβο Singleton»Χρησιμοποιείται για παγκόσμιες υπηρεσίες όπως συνδέσεις βάσεων δεδομένων και παρουσίες κοντέινερ.
$db = XoopsDatabase::getInstance();$container = XoopsContainer::getInstance();# Εργοστασιακό μοτίβο
Ενότητα με τίτλο «# Εργοστασιακό μοτίβο»Οι χειριστές αντικειμένων δημιουργούν αντικείμενα τομέα με συνέπεια.
$handler = xoops_getHandler('user');$user = $handler->create();# Σύνθετο μοτίβο
Ενότητα με τίτλο «# Σύνθετο μοτίβο»Οι φόρμες περιέχουν πολλαπλά στοιχεία φόρμας. Τα κριτήρια μπορούν να περιέχουν ένθετα κριτήρια.
$criteria = new CriteriaCompo();$criteria->add(new Criteria('status', 1));$criteria->add(new CriteriaCompo(...)); // Nested# Μοτίβο παρατηρητή
Ενότητα με τίτλο «# Μοτίβο παρατηρητή»Το σύστημα συμβάντων επιτρέπει χαλαρή σύζευξη μεταξύ των μονάδων.
$dispatcher->addListener('module.news.article_published', $callback);Παραδείγματα γρήγορης εκκίνησης
Ενότητα με τίτλο «Παραδείγματα γρήγορης εκκίνησης»# Δημιουργία και αποθήκευση αντικειμένου
Ενότητα με τίτλο «# Δημιουργία και αποθήκευση αντικειμένου»// Get the handler$handler = xoops_getHandler('user');
// Create a new object$user = $handler->create();$user->setVar('uname', 'newuser');$user->setVar('email', 'user@example.com');
// Save to database$handler->insert($user);# Ερώτημα με κριτήρια
Ενότητα με τίτλο «# Ερώτημα με κριτήρια»// Build criteria$criteria = new CriteriaCompo();$criteria->add(new Criteria('level', 0, '>'));$criteria->setSort('uname');$criteria->setOrder('ASC');$criteria->setLimit(10);
// Get objects$handler = xoops_getHandler('user');$users = $handler->getObjects($criteria);# Δημιουργία φόρμας
Ενότητα με τίτλο «# Δημιουργία φόρμας»$form = new XoopsThemeForm('User Profile', 'userform', 'save.php', 'post', true);$form->addElement(new XoopsFormText('Username', 'uname', 50, 255, $user->getVar('uname')));$form->addElement(new XoopsFormTextArea('Bio', 'bio', $user->getVar('bio')));$form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));echo $form->render();APIσυμβάσεις
Ενότητα με τίτλο «APIσυμβάσεις»# Συμβάσεις ονομασίας
Ενότητα με τίτλο «# Συμβάσεις ονομασίας»| Τύπος | Σύμβαση | Παράδειγμα |
|---|---|---|
| Τάξεις | PascalCase | XoopsUser , CriteriaCompo |
| Μέθοδοι | CamelCase | getVar() , setVar() |
| Ακίνητα | CamelCase (προστατευμένη) | $_vars , $_handler |
| Σταθερές | UPPER_SNAKE_CASE | XOBJ_DTYPE_INT |
| Πίνακες βάσεων δεδομένων | snake_case | users , groups_users_link |
# Τύποι δεδομένωνXOOPSορίζει τυπικούς τύπους δεδομένων για μεταβλητές αντικειμένων:
Ενότητα με τίτλο «# Τύποι δεδομένωνXOOPSορίζει τυπικούς τύπους δεδομένων για μεταβλητές αντικειμένων:»| Σταθερά | Τύπος | Περιγραφή |
|---|---|---|
XOBJ_DTYPE_TXTBOX | Χορδή | Εισαγωγή κειμένου (απολαυσμένη) |
XOBJ_DTYPE_TXTAREA | Χορδή | Περιεχόμενο Textarea |
XOBJ_DTYPE_INT | Ακέραιος | Αριθμητικές τιμές |
XOBJ_DTYPE_URL | Χορδή | URLεπικύρωση |
XOBJ_DTYPE_EMAIL | Χορδή | Επικύρωση email |
XOBJ_DTYPE_ARRAY | Συστοιχία | Σειριακές συστοιχίες |
XOBJ_DTYPE_OTHER | Μικτή | Προσαρμοσμένος χειρισμός |
XOBJ_DTYPE_SOURCE | Χορδή | Πηγαίος κώδικας (ελάχιστη απολύμανση) |
XOBJ_DTYPE_STIME | Ακέραιος | Σύντομη χρονική σήμανση |
XOBJ_DTYPE_MTIME | Ακέραιος | Μεσαία χρονική σήμανση |
XOBJ_DTYPE_LTIME | Ακέραιος | Μεγάλη χρονική σήμανση |
Μέθοδοι ελέγχου ταυτότητας
Ενότητα με τίτλο «Μέθοδοι ελέγχου ταυτότητας»ΤοAPIυποστηρίζει πολλαπλές μεθόδους ελέγχου ταυτότητας:
APIΈλεγχος ταυτότητας κλειδιού
Ενότητα με τίτλο «APIΈλεγχος ταυτότητας κλειδιού»X-API-Key: your-api-key# OAuth Bearer Token
Ενότητα με τίτλο «# OAuth Bearer Token»Authorization: Bearer your-oauth-token# Έλεγχος ταυτότητας βάσει περιόδου λειτουργίας
Ενότητα με τίτλο «# Έλεγχος ταυτότητας βάσει περιόδου λειτουργίας»Χρησιμοποιεί υπάρχονταXOOPSσυνεδρία όταν είστε συνδεδεμένοι.
REST APIΚαταληκτικά σημεία
Ενότητα με τίτλο «REST APIΚαταληκτικά σημεία»Όταν τοREST APIείναι ενεργοποιημένο:
| Τελικό σημείο | Μέθοδος | Περιγραφή |
|---|---|---|
/api.php/rest/users | GET | Λίστα χρηστών |
/api.php/rest/users/{id} | GET | Λήψη χρήστη με αναγνωριστικό |
/api.php/rest/users | POST | Δημιουργία χρήστη |
/api.php/rest/users/{id} | PUT | Ενημέρωση χρήστη |
/api.php/rest/users/{id} | DELETE | Διαγραφή χρήστη |
/api.php/rest/modules | GET | Λίστα ενοτήτων |
Σχετική τεκμηρίωση
Ενότητα με τίτλο «Σχετική τεκμηρίωση»- Οδηγός Ανάπτυξης Ενοτήτων
- Οδηγός Ανάπτυξης Θεμάτων
- Διαμόρφωση συστήματος
- Βέλτιστες πρακτικές ασφάλειας
Ιστορικό έκδοσης
Ενότητα με τίτλο «Ιστορικό έκδοσης»| Έκδοση | Αλλαγές |
|---|---|
| 2.5.11 | Τρέχουσα σταθερή έκδοση |
| 2.5.10 | Προστέθηκε GraphQLAPIυποστήριξη |
| 2.5.9 | Σύστημα ενισχυμένων κριτηρίων |
| 2.5.8 | PSR-4 υποστήριξη αυτόματης φόρτωσης |
Αυτή η τεκμηρίωση αποτελεί μέρος τουXOOPSΒάση γνώσεων. Για τις πιο πρόσφατες ενημερώσεις, επισκεφθείτε το XOOPSαποθετήριο GitHub.