Auto-Loading
Laden von Dateien im PSR-0-Format mit Composer
Webman folgt der automatischen Laden-Spezifikation PSR-4
. Wenn Sie Bibliotheken im Format PSR-0
laden müssen, befolgen Sie die folgenden Schritte.
- Erstellen Sie das Verzeichnis
extend
, um Bibliotheken im FormatPSR-0
zu speichern. - Bearbeiten Sie die Datei
composer.json
und fügen Sie unterautoload
den folgenden Inhalt hinzu:
"psr-0" : {
"": "extend/"
}
Das Endergebnis ähnelt folgendem:
- 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 Datei
composer.json
und fügen Sie unterautoload.files
die zu ladenden Dateien hinzu:"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
Die Dateien, die in derautoload.files
-Konfiguration voncomposer.json
aufgeführt sind, werden vor dem Start von Webman geladen. Dateien, die mit dem Frameworkconfig/autoload.php
geladen werden, werden nach dem Start von Webman geladen.
Wenn sich die mitautoload.files
konfigurierten Dateien ändern, müssen Sie Webman neu starten, damit die Änderungen wirksam werden. Ein Neuladen reicht nicht aus. Dateien, die mitconfig/autoload.php
geladen werden, unterstützen das Hot-Loading und Änderungen werden sofort nach einem Neuladen wirksam.
Laden bestimmter Dateien mit dem Framework
Einige Dateien entsprechen möglicherweise nicht dem PSR-Standard und können daher nicht automatisch geladen werden. In solchen Fällen können wir die Dateien mithilfe der Konfiguration von config/autoload.php
laden, beispielsweise:
return [
'files' => [
base_path() . '/app/functions.php',
base_path() . '/support/Request.php',
base_path() . '/support/Response.php',
]
];
Hinweis
In derautoload.php
-Konfiguration sehen wir, dass die Dateiensupport/Request.php
undsupport/Response.php
zum Laden festgelegt sind. Dies liegt daran, dass sich im Verzeichnisvendor/workerman/webman-framework/src/support/
ebenfalls zwei identische Dateien befinden. Durchautoload.php
werden die Dateiensupport/Request.php
undsupport/Response.php
im Stammverzeichnis des Projekts priorisiert geladen, was es ermöglicht, den Inhalt dieser beiden Dateien anzupassen, ohne die Dateien imvendor
-Ordner ändern zu müssen. Wenn Sie diese nicht anpassen müssen, können Sie diese Konfigurationen ignorieren.