Autoloading

Laden von PSR-0-konformen Dateien mit Composer

Webman befolgt den PSR-4 Autoloading-Standard. Wenn Ihr Projekt die Notwendigkeit hat, eine PSR-0 konforme Bibliothek zu laden, beachten Sie die folgenden Schritte.

  • Erstellen Sie ein Verzeichnis extend, um die PSR-0 konforme Bibliothek zu speichern.
  • Bearbeiten Sie die composer.json und fügen Sie unter autoload den folgenden Inhalt hinzu.
"psr-0": {
    "": "extend/"
}

Das endgültige Ergebnis sieht ähnlich aus

  • Führen Sie composer dumpautoload aus.
  • Führen Sie php start.php restart aus, um Webman neu zu starten (Hinweis: Ein Neustart ist erforderlich, damit die Änderungen wirksam werden).

Laden bestimmter Dateien mit Composer

  • Bearbeiten Sie die composer.json und fügen Sie unter autoload.files die Dateien hinzu, die geladen werden sollen.

    "files": [
    "./support/helpers.php",
    "./app/helpers.php"
    ]
  • Führen Sie composer dumpautoload aus.

  • Führen Sie php start.php restart aus, um Webman neu zu starten (Hinweis: Ein Neustart ist erforderlich, damit die Änderungen wirksam werden).

Hinweis
Dateien, die in autoload.files in der composer.json konfiguriert sind, werden vor dem Start von Webman geladen. Dateien, die mit dem Framework config/autoload.php geladen werden, werden nach dem Start von Webman geladen.
Änderungen an den in autoload.filesgeladenen Dateien erfordern einen Neustart, um wirksam zu werden; ein Reload ist nicht ausreichend. Im Gegensatz dazu unterstützen die mit dem Framework config/autoload.php geladenen Dateien das Hot-Reloading, sodass Änderungen nach einem Reload wirksam werden.

Laden bestimmter Dateien mit dem Framework

Einige Dateien entsprechen möglicherweise nicht dem SPR-Standard und können nicht automatisch geladen werden. Wir können diese Dateien durch Konfiguration von config/autoload.php laden, zum Beispiel:

return [
    'files' => [
        base_path() . '/app/functions.php',
        base_path() . '/support/Request.php', 
        base_path() . '/support/Response.php',
    ]
];

Hinweis
Wir sehen, dass in autoload.php die Dateien support/Request.php und support/Response.php geladen werden. Dies liegt daran, dass sich im Verzeichnis vendor/workerman/webman-framework/src/support/ ebenfalls zwei identische Dateien befinden. Durch die Verwendung von autoload.php laden wir vorrangig die support/Request.php und support/Response.php aus dem Root-Verzeichnis unseres Projekts, was es uns ermöglicht, den Inhalt dieser beiden Dateien anzupassen, ohne die Dateien im vendor-Verzeichnis bearbeiten zu müssen. Wenn Sie keine Anpassungen benötigen, können Sie diese beiden Konfigurationen ignorieren.