Start · Sprachen · PHP · Referenz · Swoole\Module

Swoole\Module

Klasse

Repräsentiert ein Swoole-Erweiterungsmodul und ermöglicht den Zugriff auf Metadaten geladener Swoole-Module.

Kategorie: misc

Signatur

class Swoole\Module

Beschreibung

Swoole\Module ist eine interne Klasse der Swoole-Erweiterung für PHP, die ein einzelnes Erweiterungsmodul repräsentiert. Sie bietet eine objektorientierte Schnittstelle, um Informationen über geladene Swoole-Module abzurufen, ähnlich wie die PHP-eigene Klasse ReflectionExtension für PHP-Erweiterungen im Allgemeinen.

Swoole ist ein asynchrones, koroutinen-basiertes Netzwerkframework für PHP, das aus mehreren internen Modulen bestehen kann (z. B. für HTTP-Server, WebSocket, Coroutines usw.). Swoole\Module ermöglicht es, zur Laufzeit festzustellen, welche dieser Module aktiv sind und welche Fähigkeiten die aktuelle Swoole-Installation bietet.

Diese Klasse wird hauptsächlich für introspektive oder diagnostische Zwecke eingesetzt – etwa um vor der Nutzung bestimmter Swoole-Features zu prüfen, ob das zugehörige Modul tatsächlich vorhanden und aktiviert ist. Dies ist besonders in Umgebungen relevant, in denen Swoole modular kompiliert oder konfiguriert wurde.

Hinweis: Die genaue API und der Funktionsumfang von Swoole\Module hängen stark von der installierten Swoole-Version ab. Die Klasse ist nicht Teil des offiziellen PHP-Kerns und steht nur zur Verfügung, wenn die Swoole-Erweiterung installiert ist.

Beispiele

Prüfen ob ein Swoole-Modul vorhanden ist

<?php
// Prüft, ob das Swoole-Modul 'curl' geladen ist
if (class_exists('Swoole\Module')) {
    $result = Swoole\Module::loaded('curl');
    if ($result) {
        echo "Swoole curl-Modul ist geladen." . PHP_EOL;
    } else {
        echo "Swoole curl-Modul ist NICHT geladen." . PHP_EOL;
    }
} else {
    echo "Swoole\Module ist nicht verfügbar." . PHP_EOL;
}
Swoole curl-Modul ist geladen.

Swoole-Module-Verfügbarkeit bei der Anwendungsinitialisierung prüfen

<?php
// Beim Start einer Swoole-Anwendung sicherstellen,
// dass benötigte Module verfügbar sind
$requiredModules = ['openssl', 'curl'];

foreach ($requiredModules as $module) {
    if (!Swoole\Module::loaded($module)) {
        throw new RuntimeException(
            "Erforderliches Swoole-Modul '{$module}' ist nicht geladen. " .
            "Bitte Swoole mit '--enable-{$module}' neu kompilieren."
        );
    }
}

echo "Alle erforderlichen Swoole-Module sind verfügbar." . PHP_EOL;
Alle erforderlichen Swoole-Module sind verfügbar.

// Wichtig · Fallstricke

Verfügbarkeit: Swoole\Module steht ausschließlich zur Verfügung, wenn die Swoole-PHP-Erweiterung installiert ist (pecl install swoole oder manuell kompiliert). Sie ist kein Bestandteil des PHP-Standardumfangs.

Versionsunterschiede: Die Klasse und ihre Methoden können je nach Swoole-Version (Swoole 4.x, 5.x, OpenSwoole) unterschiedlich implementiert sein oder unter abweichenden Namen existieren. Es empfiehlt sich, vor der Verwendung stets class_exists('Swoole\Module') zu prüfen.

Interne Klasse: Da Swoole\Module eine interne Swoole-Klasse ist, kann sie nicht durch normales PHP-Code subklassiert oder verändert werden. Die offizielle Dokumentation ist fragmentarisch – zur vollständigen API sollte die jeweilige Swoole-Quellcode-Dokumentation herangezogen werden.