Heim  >  Artikel  >  Backend-Entwicklung  >  Optimierungstechniken für Programme im PHP-Laravel5-Framework (empfohlen)

Optimierungstechniken für Programme im PHP-Laravel5-Framework (empfohlen)

不言
不言Original
2018-07-25 17:07:181646Durchsuche

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

Eine Zusammenfassung der Routing-Konfiguration des Laravel-Frameworks und Einstellungstipps, Laravel-Framework

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn