Heim > Artikel > Backend-Entwicklung > Optimierungstechniken für Programme im PHP-Laravel5-Framework (empfohlen)
Die Leistung des Laravel-Frameworks war noch nie sehr gut. Wenn Sie also das PHP-Laravel-Framework erlernen, müssen Sie die Optimierung des Laravel-Programms beherrschen. Als nächstes werde ich einige der besten Entwicklungslösungen und Optimierungstechniken vorstellen.
Hier ist die einfache Liste:
Konfigurationsinformationen Cache Artisan config:cache
Routen-Cache Artisan Route:cache
Klassenkarten-Ladeoptimierung Artisan Optimieren
Autoload-Optimierung Composer DumpAutoload
Verwenden Sie Memcached zum Speichern der Sitzungskonfiguration/session.php
Verwenden Sie den professionellen Cache-Treiber config/cache.php
Datenbankanfrageoptimierung
Caching-Logik für den Datensatz schreiben
Verwenden Sie einen Just-in-Time-Compiler (JIT), wie zum Beispiel: HHVM, OpCache
Front-End-Ressourcenzusammenführung mit Elixir
1. Cache für Konfigurationsinformationen
Verwenden Sie den folgenden integrierten Artisan-Befehl, um alle Konfigurationsinformationen im Konfigurationsordner in einer Datei zusammenzuführen und so die Anzahl der geladenen Dateien zu reduzieren zur Laufzeit:
php artisan config:cache
Der obige Befehl generiert die Datei bootstrap/cache/config.php. Sie können den folgenden Befehl verwenden, um den Konfigurationsinformationscache abzubrechen:
php artisan config:clear
Mit diesem Befehl wird die Datei „bootstrap/cache/config.php“ gelöscht.
Hinweis: Der Konfigurationsinformationscache wird bei Updates nicht automatisch neu geladen. Daher wird empfohlen, den Konfigurationsinformationscache während der Entwicklung zu deaktivieren. Er wird im Allgemeinen in Produktionsumgebungen verwendet und kann mit der Envoy-Aufgabe verwendet werden Läufer.
2. Routen-Caching
Routen-Caching kann die Registrierungseffizienz des Routers effektiv verbessern. Der Effekt ist bei großen Anwendungen deutlicher.
php artisan route:cache
Der obige Befehl generiert die Datei „bootstrap/cache/routes.php“. Es ist zu beachten, dass der Route-Cache keine Routing-Logik für das Schreiben anonymer Funktionen unterstützt.
Sie können den folgenden Befehl verwenden, um den Routen-Cache zu löschen:
php artisan route:clear
Mit diesem Befehl wird die Datei „bootstrap/cache/routes.php“ gelöscht .
Hinweis: Der Routen-Cache wird bei Updates nicht automatisch neu geladen. Daher wird empfohlen, den Routen-Cache während der Entwicklung zu deaktivieren. Er wird im Allgemeinen in Produktionsumgebungen verwendet und kann mit dem Envoy-Task-Runner verwendet werden.
3. Optimierung des Ladens von Klassenkarten
Der Befehl „optimieren“ führt häufig geladene Klassen in einer Datei zusammen, um die Betriebseffizienz durch Reduzierung des Dateiladens zu verbessern:
php artisanoptimise --force
generiert zwei Dateien, Bootstrap/cache/compiled.php und Bootstrap/cache/services.json.
Sie können zusammenzuführende Klassen hinzufügen, indem Sie die Datei config/compile.php ändern.
In der Produktionsumgebung muss der Parameter --force nicht angegeben werden und die Datei wird automatisch generiert.
Um die Classmap-Ladeoptimierung zu löschen, führen Sie den folgenden Befehl aus:
php artisan clear-compiled
Dieser Befehl löscht die beiden oben von der Optimierung generierten Dateien.
Hinweis: Dieser Befehl muss nach php artisan config:cache ausgeführt werden, da der Optimierungsbefehl Dateien basierend auf Konfigurationsinformationen generiert (z. B. dem Provider-Array der Datei config/app.php).
4. Automatische Ladeoptimierung
Dieser Befehl gilt nicht nur für Laravel-Programme, sondern gilt auch für alle mit Composer erstellten Programme. Dieser Befehl konvertiert PSR-0 und PSR-4 in eine Klassenzuordnungstabelle, um die Ladegeschwindigkeit der Klassen zu verbessern.
composer dumpautoload -o
Hinweis: Dieser Vorgang wurde bereits im PHP-Artist-Optimize-Befehl --force ausgeführt.
5. Verwenden Sie Memcached, um Sitzungen zu speichern.
Durch Ändern der Sitzungsspeichermethode können die Programmeffizienz und die Sitzungskonfigurationsinformationen effektiv verbessert werden config/session.php. Es wird empfohlen, es auf professionelle Caching-Software wie Memcached oder Redis umzustellen:
'driver' => 'memcached',
6 " ist der beste Weg, die Anwendung zu verbessern. Der Standard-Cache-Treiber ist eine der magischen Waffen für die Effizienz der Programmausführung und der Datei-Cache. Es wird empfohlen, auf ein professionelles Cache-System wie Redis oder Memcached umzusteigen. Die Verwendung einer Datenbank wird nicht empfohlen Cache.
'default' => 'redis',7. Optimierung der Datenbankanforderung
Lazy Preloading und Preloading verwenden;
Verwenden Sie Laravel Debugbar oder Clockwork, um auf die Gesamtzahl der Datenbankanfragen für jede Seite zu achten. Der Platz hier deckt nur Laravel-bezogene Inhalte ab. Weitere Inhalte zur Datenoptimierung finden Sie in den anderen Informationen .8. Caching-Logik für den Datensatz schreiben
Verwenden Sie die von Laravel bereitgestellten Cache-Layer-Operationen ordnungsgemäß, um die aus der Datenbank entnommenen Datensätze zwischenzuspeichern und so die Datenbank zu verkleinern Die auf dem Speicher laufende professionelle Caching-Software kann Daten zudem deutlich schneller auslesen als die Datenbank.
$posts = Cache::remember('index.posts', $minutes = 30, function() { return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get(); });Denken Sie daran, dass sogar das Datenassoziationsmodell zwischengespeichert wird, wie praktisch.
9. Verwenden Sie den Just-in-Time-Compiler
Sowohl HHVM als auch OpCache können die Leistung Ihrer Anwendung problemlos um 50 % oder mehr verbessern, so PHPhub Ein Experiment zuvor. Weitere Informationen finden Sie unter: Verwendung von OpCache zur Verbesserung der Programmleistung von PHP 5.5+.
10. Front-End-Ressourcenzusammenführung
Als Optimierungsstandard sollte eine Seite nur eine CSS- und eine JS-Datei laden, und die Datei muss vom CDN aus leicht zugänglich sein und der Dateiname muss sich bei Änderung ändern.
Verwandte Empfehlungen:
Einige praktische Tipps zur Verbesserung der Leistung von Laravel 5
Das obige ist der detaillierte Inhalt vonOptimierungstechniken für Programme im PHP-Laravel5-Framework (empfohlen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!