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 diePSR-0
konforme Bibliothek zu speichern. - Bearbeiten Sie die
composer.json
und fügen Sie unterautoload
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 unterautoload.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 inautoload.files
in der composer.json konfiguriert sind, werden vor dem Start von Webman geladen. Dateien, die mit dem Frameworkconfig/autoload.php
geladen werden, werden nach dem Start von Webman geladen.
Änderungen an den inautoload.files
geladenen Dateien erfordern einen Neustart, um wirksam zu werden; ein Reload ist nicht ausreichend. Im Gegensatz dazu unterstützen die mit dem Frameworkconfig/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 inautoload.php
die Dateiensupport/Request.php
undsupport/Response.php
geladen werden. Dies liegt daran, dass sich im Verzeichnisvendor/workerman/webman-framework/src/support/
ebenfalls zwei identische Dateien befinden. Durch die Verwendung vonautoload.php
laden wir vorrangig diesupport/Request.php
undsupport/Response.php
aus dem Root-Verzeichnis unseres Projekts, was es uns ermöglicht, den Inhalt dieser beiden Dateien anzupassen, ohne die Dateien imvendor
-Verzeichnis bearbeiten zu müssen. Wenn Sie keine Anpassungen benötigen, können Sie diese beiden Konfigurationen ignorieren.