Zum Inhalt springen

XOOPS Kernel-Klassen

Der XOOPS Kernel bietet das fundamentale Framework für System-Bootstrapping, Konfigurationsverwaltung, System-Event-Handling und Core-Utilities. Diese Klassen bilden das Rückgrat der XOOPS-Anwendung.

graph TD
A[XoopsKernel] -->|initialisiert| B[Configuration Manager]
A -->|verwaltet| C[Service Container]
A -->|handhabt| D[System Hooks]
A -->|registriert| E[Core Services]
B -->|lädt| F[config.php]
B -->|verwaltet| G[Module Configs]
C -->|enthält| H[Database]
C -->|enthält| I[Logger]
C -->|enthält| J[Template Engine]
C -->|enthält| K[Module Manager]
E -->|registriert| L[User Service]
E -->|registriert| M[Module Service]
E -->|registriert| N[Database Service]

Die Haupt-Kernel-Klasse, die das XOOPS-System initialisiert und verwaltet.

namespace Xoops;
class XoopsKernel
{
private static ?XoopsKernel $instance = null;
protected ServiceContainer $services;
protected ConfigurationManager $config;
protected array $modules = [];
protected bool $isLoaded = false;
}

Ruft die Singleton-Kernel-Instanz ab.

public static function getInstance(): XoopsKernel

Rückgabewert: XoopsKernel - Die Singleton-Kernel-Instanz

Beispiel:

$kernel = XoopsKernel::getInstance();

Der Kernel Boot-Prozess folgt diesen Schritten:

  1. Initialization - Fehlerhandler setzen, Konstanten definieren
  2. Configuration - Konfigurationsdateien laden
  3. Service Registration - Core-Services registrieren
  4. Module Detection - Scannen und Identifizieren aktiver Module
  5. Database Initialization - Mit Datenbank verbinden
  6. Cleanup - Für Request-Verarbeitung vorbereiten
public function boot(): void

Beispiel:

$kernel = XoopsKernel::getInstance();
$kernel->boot();
  1. Single Boot - Rufen Sie boot() nur einmal während Anwendungsstart auf
  2. Use Service Container - Registrieren und rufen Sie Services über den Kernel ab
  3. Handle Hooks Early - Registrieren Sie Hook-Listener bevor Sie sie auslösen
  4. Log Important Events - Verwenden Sie den Logger-Service zum Debuggen
  5. Cache Configuration - Laden Sie Config einmal und verwenden Sie sie wieder
  6. Error Handling - Richten Sie immer Error-Handler ein bevor Sie Requests verarbeiten
  • ../Module/Module-System - Modul-System und Lebenszyklu
  • ../Template/Template-System - Template-Engine-Integration
  • ../User/User-System - Benutzer-Authentifizierung und Verwaltung
  • ../Database/XoopsDatabase - Datenbankschicht

Siehe auch: XOOPS Kernel Source