Heim Backend-Entwicklung PHP-Tutorial Details zur Optimierung während der PHP-Entwicklung

Details zur Optimierung während der PHP-Entwicklung

May 15, 2018 pm 03:23 PM
php 优化 Detail

In diesem Artikel werden hauptsächlich die Details zur Optimierung während des PHP-Entwicklungsprozesses vorgestellt. Ich hoffe, dass er für alle hilfreich ist.

Die einzigartige Syntax von PHP mischt C, Java, Perl und PHPs eigene innovative Syntax. Es kann dynamische Webseiten schneller ausführen als CGI oder Perl. Im Vergleich zu anderen Programmiersprachen betten mit PHP erstellte dynamische Seiten Programme zur Ausführung in HTML-Dokumente ein, und die Ausführungseffizienz ist viel höher als bei CGI, das HTML-Tags vollständig generiert. Im Folgenden werden Optimierungsrichtlinien für 42 Programme vorgestellt.
1. Wenn eine Methode statisch gemacht werden kann, deklarieren Sie sie statisch. Die Geschwindigkeit kann auf das 4-fache erhöht werden.

 2.echo ist schneller als print.

3. Verwenden Sie die mehreren Parameter von Echo (Übersetzung: bezieht sich auf die Verwendung von Kommas anstelle von Punkten) anstelle der Zeichenfolgenverkettung.

4. Bestimmen Sie die maximale Anzahl von Schleifen, bevor Sie die for-Schleife ausführen. Berechnen Sie nicht bei jeder Schleife den Maximalwert.

5. Heben Sie die Registrierung nicht verwendeter Variablen, insbesondere großer Arrays, auf, um Speicher freizugeben.

6. Vermeiden Sie die Verwendung von __get, __set, __autoload.

7.require_once() ist teuer.

8. Verwenden Sie beim Einbinden von Dateien den vollständigen Pfad. Dadurch wird die Auflösung des Betriebssystempfads weniger Zeit in Anspruch nehmen.

9. Wenn Sie wissen möchten, wann das Skript ausgeführt wird (Anmerkung: Der Server empfängt die Client-Anfrage), ist die Verwendung von $_SERVER[‘REQUEST_TIME’] besser als time().

 10. Funktionen ersetzen reguläre Ausdrücke, um dieselbe Funktion zu vervollständigen.

11. Die Funktion str_replace ist schneller als die Funktion preg_replace, aber die Funktion strtr ist viermal effizienter als die Funktion str_replace.

12. Wenn eine String-Ersetzungsfunktion Arrays oder Zeichen als Parameter akzeptiert und die Parameterlänge nicht zu lang ist, können Sie erwägen, einen zusätzlichen Ersetzungscode zu schreiben, sodass jeder übergebene Parameter ein Zeichen ist, anstatt nur zu schreiben eine Codezeile, um Arrays als Parameter für Abfragen und Ersetzungen zu akzeptieren.

13. Es ist besser, eine selektive Verzweigungsanweisung (Übersetzungsanmerkung: Groß-/Kleinschreibung wechseln) zu verwenden, als mehrere if-else-if-Anweisungen zu verwenden.

14. Die Verwendung von @ zum Blockieren von Fehlermeldungen ist sehr ineffizient.

15. Öffnen Sie das mod_deflate-Modul von Apache.

16. Die Datenbankverbindung sollte geschlossen werden, wenn Sie mit der Verwendung fertig sind.

17.$row[‘id’] ist 7-mal effizienter als $row[id’].

18. Fehlermeldungen sind teuer.

19. Versuchen Sie, keine Funktionen in for-Schleifen zu verwenden. Beispielsweise ist for ($x=0; $x prop++) dreimal langsamer als das Erhöhen einer lokalen Variablen.

 23. Das Erhöhen einer undefinierten lokalen Variablen ist 9 bis 10 Mal langsamer als das Erhöhen einer vordefinierten lokalen Variablen.

 24. Das bloße Definieren einer lokalen Variablen, ohne sie in einer Funktion aufzurufen, verlangsamt ebenfalls die Geschwindigkeit (im gleichen Maße wie das Erhöhen einer lokalen Variablen). PHP wird wahrscheinlich prüfen, ob eine globale Variable vorhanden ist.

25. Methodenaufrufe scheinen unabhängig von der Anzahl der in der Klasse definierten Methoden zu sein, da ich 10 Methoden hinzugefügt habe (sowohl vor als auch nach dem Testen der Methode) und es keine Leistungsänderung gab.

 26. Methoden in abgeleiteten Klassen werden schneller ausgeführt als dieselben Methoden, die in Basisklassen definiert sind.

 27. Der Aufruf einer leeren Funktion mit einem Parameter dauert genauso lange wie die Durchführung von 7 bis 8 lokalen Variablen-Inkrementierungsoperationen. Ein ähnlicher Methodenaufruf erfordert fast 15 Inkremente lokaler Variablen.

28. Verwenden Sie einfache Anführungszeichen anstelle von doppelten Anführungszeichen, um Zeichenfolgen einzuschließen, was schneller geht. Da PHP nach Variablen in einer Zeichenfolge sucht, die von doppelten Anführungszeichen umgeben ist, ist dies bei einfachen Anführungszeichen nicht der Fall. Dies ist natürlich nur möglich, wenn Sie keine Variablen in die Zeichenfolge einfügen müssen.

29. Wenn Sie mehrere Zeichenfolgen ausgeben, verwenden Sie Kommas anstelle von Punkten, um die Zeichenfolgen zu trennen, was schneller ist. Hinweis: Nur echo kann dies tun. Es handelt sich um eine „Funktion“, die mehrere Zeichenfolgen als Parameter annehmen kann (Anmerkung: Im PHP-Handbuch heißt es, dass echo eine Sprachstruktur und keine echte Funktion ist, daher wird die Funktion in doppelte Anführungszeichen gesetzt.) .

30. Die Zeit, die Apache zum Parsen eines PHP-Skripts benötigt, ist zwei- bis zehnmal langsamer als das Parsen einer statischen HTML-Seite. Versuchen Sie, mehr statische HTML-Seiten und weniger Skripte zu verwenden.

 31. Sofern das Skript nicht zwischengespeichert werden kann, wird es bei jedem Aufruf neu kompiliert. Durch die Einführung eines PHP-Caching-Mechanismus kann die Leistung normalerweise um 25 bis 100 % verbessert werden, um den Kompilierungsaufwand zu eliminieren.

32. Versuchen Sie, so viel wie möglich zwischenzuspeichern. Sie können Memcached verwenden. Memcached ist ein leistungsstarkes Speicherobjekt-Caching-System, mit dem dynamische Webanwendungen beschleunigt und die Datenbanklast reduziert werden kann. Das Zwischenspeichern von OP-Codes ist nützlich, damit Skripte nicht für jede Anfrage neu kompiliert werden müssen.

 33. Wenn Sie eine Zeichenfolge bearbeiten und überprüfen müssen, ob ihre Länge bestimmte Anforderungen erfüllt, verwenden Sie natürlich die Funktion strlen(). Diese Funktion wird recht schnell ausgeführt, da sie keine Berechnungen durchführt und lediglich die bekannte Zeichenfolgenlänge zurückgibt, die in der zval-Struktur (der in C integrierten Datenstruktur zum Speichern von PHP-Variablen) gespeichert ist.

Da strlen() jedoch eine Funktion ist, ist sie etwas langsam, da der Funktionsaufruf viele Schritte durchläuft, z. B. Kleinbuchstaben (Anmerkung: Bezieht sich auf den Funktionsnamen in Kleinbuchstaben, PHP unterscheidet nicht (Bei Funktionsnamen) wird die Hash-Suche zusammen mit der aufgerufenen Funktion ausgeführt. In einigen Fällen können Sie den isset()-Trick verwenden, um die Ausführung Ihres Codes zu beschleunigen.

(举例如下)


  if (strlen($foo) < 5) { echo "Foo is too short"$$ }


  (与下面的技巧做比较)


  if (!isset($foo{5})) { echo "Foo is too short"$$ }
Nach dem Login kopieren



Der Aufruf von isset() ist zufällig schneller als strlen(), da isset() im Gegensatz zu letzterem als Sprachkonstrukt bedeutet, dass für seine Ausführung keine Funktionssuche und Kleinbuchstaben erforderlich sind. ändern. Das bedeutet, dass Sie im Code der obersten Ebene tatsächlich nicht viel Aufwand für die Überprüfung der Zeichenfolgenlänge aufwenden müssen.


 34. Wenn die Variable $i erhöht oder verringert wird, ist $i++ langsamer als ++$i. Dieser Unterschied ist spezifisch für PHP und gilt nicht für andere Sprachen. Ändern Sie also bitte nicht Ihren C- oder Java-Code und erwarten Sie, dass er sofort schneller ist, da er sonst nicht funktioniert. ++$i ist schneller, da nur 3 Anweisungen (Opcodes) erforderlich sind, während $i++ 4 Anweisungen erfordert. Nach dem Inkrementieren wird tatsächlich eine temporäre Variable erstellt, die anschließend inkrementiert wird. Das Präfix-Inkrement erhöht sich direkt auf den ursprünglichen Wert. Dies ist eine Form der Optimierung, wie sie vom PHP-Optimierer von Zend durchgeführt wird.


Es ist eine gute Idee, diese Optimierung im Hinterkopf zu behalten, da nicht alle Befehlsoptimierer die gleichen Optimierungen durchführen und es eine große Anzahl von Internetdienstanbietern (ISPs) und Internetdienstanbietern (ISPs) gibt, die dies tun Es sind keine Befehlsoptimierungsserver installiert.


 35. Es muss nicht objektorientiert sein (OOP). Objektorientiert ist oft sehr teuer und jede Methode und jeder Objektaufruf verbraucht viel Speicher.


 36. Es ist nicht notwendig, Klassen zu verwenden, um alle Datenstrukturen zu implementieren, Arrays sind ebenfalls nützlich.


37. Unterteilen Sie die Methode nicht zu sehr, überlegen Sie genau, welchen Code Sie wirklich wiederverwenden möchten


38. Wenn Sie ihn brauchen, sind Sie immer in der Lage Code in Methoden zerlegen.


 39. Versuchen Sie, eine große Anzahl integrierter PHP-Funktionen zu verwenden.


 40. Wenn der Code viele zeitaufwändige Funktionen enthält, können Sie erwägen, diese mithilfe von C-Erweiterungen zu implementieren.


 41. Profilieren Sie Ihren Code. Der Prüfer verrät Ihnen, welche Teile des Codes wie viel Zeit in Anspruch nehmen. Der Xdebug-Debugger umfasst Inspektionsroutinen, die die Gesamtintegrität Ihres Codes bewerten und Engpässe in Ihrem Code aufdecken.


 42.mod_zip kann als Apache-Modul verwendet werden, um Ihre Daten sofort zu komprimieren und das Datenübertragungsvolumen um 80 % zu reduzieren.

Verwandte Empfehlungen:

PHP-Lernroute und 10 PHP-Optimierungsfähigkeiten

PHP-Optimierungsfähigkeiten

PHP-Optimierung – Opcache-Konfigurationsanweisungen



Das obige ist der detaillierte Inhalt vonDetails zur Optimierung während der PHP-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP arbeitet mit Datenbank CakePHP arbeitet mit Datenbank Sep 10, 2024 pm 05:25 PM

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

See all articles