Μετάβαση στο περιεχόμενο

XOOPS APIΑναφορά

Καλώς ήρθατε στο ολοκληρωμένοXOOPS APIΤεκμηρίωση αναφοράς. Αυτή η ενότητα παρέχει λεπτομερή τεκμηρίωση για όλες τις βασικές κλάσεις, μεθόδους και συστήματα που αποτελούν τοXOOPSΣύστημα Διαχείρισης Περιεχομένου.

ΤοXOOPS APIοργανώνεται σε πολλά μεγάλα υποσυστήματα, το καθένα υπεύθυνο για μια συγκεκριμένη πτυχή τουCMSλειτουργικότητα. Η κατανόηση αυτών των API είναι απαραίτητη για την ανάπτυξη λειτουργικών μονάδων, θεμάτων και επεκτάσεων γιαXOOPS.

Τα θεμέλια τάξεις που όλα τα άλλα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εφαρμόζει πολλά γνωστά σχέδια σχεδίασης:

Χρησιμοποιείται για παγκόσμιες υπηρεσίες όπως συνδέσεις βάσεων δεδομένων και παρουσίες κοντέινερ.

$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();
ΤύποςΣύμβασηΠαράδειγμα
ΤάξειςPascalCaseXoopsUser , CriteriaCompo
ΜέθοδοιCamelCasegetVar() , setVar()
ΑκίνηταCamelCase (προστατευμένη)$_vars , $_handler
ΣταθερέςUPPER_SNAKE_CASEXOBJ_DTYPE_INT
Πίνακες βάσεων δεδομένωνsnake_caseusers , 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υποστηρίζει πολλαπλές μεθόδους ελέγχου ταυτότητας:

X-API-Key: your-api-key
Authorization: Bearer your-oauth-token

# Έλεγχος ταυτότητας βάσει περιόδου λειτουργίας

Ενότητα με τίτλο «# Έλεγχος ταυτότητας βάσει περιόδου λειτουργίας»

Χρησιμοποιεί υπάρχονταXOOPSσυνεδρία όταν είστε συνδεδεμένοι.

Όταν τοREST APIείναι ενεργοποιημένο:

Τελικό σημείοΜέθοδοςΠεριγραφή
/api.php/rest/usersGETΛίστα χρηστών
/api.php/rest/users/{id}GETΛήψη χρήστη με αναγνωριστικό
/api.php/rest/usersPOSTΔημιουργία χρήστη
/api.php/rest/users/{id}PUTΕνημέρωση χρήστη
/api.php/rest/users/{id}DELETEΔιαγραφή χρήστη
/api.php/rest/modulesGETΛίστα ενοτήτων
  • Οδηγός Ανάπτυξης Ενοτήτων
  • Οδηγός Ανάπτυξης Θεμάτων
  • Διαμόρφωση συστήματος
  • Βέλτιστες πρακτικές ασφάλειας
ΈκδοσηΑλλαγές
2.5.11Τρέχουσα σταθερή έκδοση
2.5.10Προστέθηκε GraphQLAPIυποστήριξη
2.5.9Σύστημα ενισχυμένων κριτηρίων
2.5.8PSR-4 υποστήριξη αυτόματης φόρτωσης

Αυτή η τεκμηρίωση αποτελεί μέρος τουXOOPSΒάση γνώσεων. Για τις πιο πρόσφατες ενημερώσεις, επισκεφθείτε το XOOPSαποθετήριο GitHub.