Konfigurations-Caching
Die Laravel-Konfiguration erstreckt sich über Dutzende von Dateien, und including
jede einzelne für jede Anforderung ist ein kostspieliger Prozess. Verwenden Sie Folgendes, um alle Konfigurationsdateien in einer zu kombinieren:
php artisan config:cache
Beachten Sie, dass Änderungen an der Konfiguration nach dem Zwischenspeichern keine Auswirkungen mehr haben. Führen Sie den obigen Befehl erneut aus, um den Konfigurationscache zu aktualisieren. Wenn Sie den Konfigurationscache vollständig entfernen möchten, führen Sie ihn aus
php artisan config:clear
Routing- Caching Routing ist auch in Laravel eine teure Aufgabe. Führen Sie den folgenden Befehl aus, um die Datei route.php zwischenzuspeichern:
php artisan route:cache
Beachten Sie, dass es mit Verschlüssen nicht funktioniert. Wenn Sie Closures verwenden, ist dies eine gute Möglichkeit, diese in einen Controller zu verschieben, da der Befehl artisan eine Ausnahme auslöst, wenn versucht wird, Routen zu kompilieren, die an Closures gebunden sind, anstatt geeignete Controller-Methoden. Wie im Konfigurationscache haben Änderungen an route.php keine Auswirkungen mehr. Führen Sie den obigen Befehl jedes Mal aus, wenn Sie Änderungen an der Routendatei vornehmen, um den Cache zu aktualisieren. Führen Sie den folgenden Befehl aus, um den Routen-Cache vollständig zu entfernen:
php artisan route:clear
Klassenkartenoptimierung
Es ist nicht ungewöhnlich, dass ein mittelgroßes Projekt auf Hunderte von PHP-Dateien verteilt ist. Wie es uns ein gutes Codierungsverhalten vorschreibt, hat alles seine eigene Datei. Dies ist natürlich nicht ohne Nachteile. Laravel muss für jede Anfrage Dutzende verschiedener Dateien einschließen, was eine kostspielige Sache ist.
Eine gute Optimierungsmethode besteht daher darin, zu deklarieren, welche Dateien für jede Anforderung verwendet werden (dies sind beispielsweise alle Ihre Dienstanbieter, Middlewares und einige weitere), und diese in nur einer Datei zu kombinieren, die anschließend für jede Anforderung geladen wird. Dies unterscheidet sich nicht von der Kombination aller Ihrer Javascript-Dateien zu einer, sodass der Browser weniger Anforderungen an den Server stellen muss.
Die zusätzlichen Kompilierungsdateien (wieder: Dienstanbieter, Middlewares usw.) sollten von Ihnen in config / compile.php im Dateischlüssel deklariert werden. Wenn Sie dort alles Notwendige für jede Anfrage an Ihre App abgelegt haben, verknüpfen Sie sie in einer Datei mit:
php artisan optimize --force
Optimieren des automatischen Ladens des Komponisten
Dieser ist nicht nur für Laravel gedacht, sondern für jede Anwendung, die Composer verwendet.
Ich werde zuerst erklären, wie das automatische Laden des PSR-4 funktioniert, und dann werde ich Ihnen zeigen, welchen Befehl Sie ausführen sollten, um es zu optimieren. Wenn Sie nicht wissen möchten, wie Composer funktioniert, empfehlen wir Ihnen, direkt zum Konsolenbefehl zu springen.
Wenn Sie den Komponisten nach der App\Controllers\AuthController
Klasse fragen , sucht er zuerst nach einer direkten Zuordnung in der Klassenzuordnung. Die Klassenzuordnung ist ein Array mit 1: 1-Zuordnungen von Klassen und Dateien. Da Sie die Login-Klasse und die zugehörige Datei natürlich nicht manuell zur Klassenzuordnung hinzugefügt haben, fährt Composer fort und sucht in den Namespaces. Da App ein PSR-4-Namespace ist, der standardmäßig mit Laravel geliefert wird und dem app/
Ordner zugeordnet ist, versucht Composer, den PSR-4-Klassennamen mit grundlegenden Verfahren zur Zeichenfolgenmanipulation in einen Dateinamen zu konvertieren. Am Ende wird vermutet, App\Controllers\AuthController
dass sich diese in einer AuthController.php-Datei befinden muss, die sich in einem Controllers/
Ordner befindet, der sich zum Glück im Namespace-Ordner befinden sollte app/
.
All diese harte Arbeit nur, um sicherzustellen, dass die App\Controllers\AuthController
Klasse in der app/Controllers/AuthController.php
Datei vorhanden ist. Führen Sie den folgenden Befehl aus, damit Composer Ihre gesamte Anwendung scannt und direkte 1: 1-Zuordnungen von Klassen und Dateien erstellt:
composer dumpautoload -o
Denken Sie daran, dass Sie diese nicht mehr ausführen müssen, wenn Sie PHP Artisan Optimize --force bereits ausgeführt haben. Da der Befehl optimize den Komponisten bereits anweist, ein optimiertes Autoload zu erstellen.