Heim > Backend-Entwicklung > PHP-Tutorial > Tipps zur Optimierung des PHP-Codes

Tipps zur Optimierung des PHP-Codes

巴扎黑
Freigeben: 2016-11-22 15:47:05
Original
1231 Leute haben es durchsucht

Tipps zur Optimierung von PHP-Code
1. Wenn eine Methode statisch sein kann, kann die Geschwindigkeit um 1/4 erhöht werden;
2. Echo ist effizienter als print gibt keinen Wert zurück, print gibt eine Ganzzahl zurück;
3. Legen Sie die maximale Anzahl von Schleifen vor der Schleife fest, nicht während der Schleife;
4 Zerstören Sie Variablen, um Speicher freizugeben, insbesondere große Arrays;
5. Vermeiden Sie die Verwendung magischer Methoden wie __get, __set, __autoload usw.;
6. requiere_once() ist ressourcenintensiver;
7. Verwenden Sie absolute Pfade in Includes und Requires, damit die Analyse weniger Zeit in Anspruch nimmt path;
8. Wenn Sie die Zeit von Sexinsex bis zur Skriptausführung benötigen, ist $_SERVER['REQUSET_TIME'] besser als time();
9. Wenn Sie Zeichenverarbeitungsfunktionen verwenden können, versuchen Sie es sie, weil die Effizienz höher ist als bei Regular;//
10. str_replace ist schneller als reguläres Ersetzen preg_replace, aber strtr ist 1/4 schneller als str_replace;
11 B. einfache Zeichen als Parameter, zum Beispiel Zeichenersetzung, und die Parameterliste
nicht zu lang ist, können Sie in Betracht ziehen, prägnantere Ersetzungsanweisungen zu verwenden, um jeweils nur ein Zeichen zu ersetzen, anstatt das Array
als Such- und zu akzeptieren Ersatzparameter. Machen Sie große Dinge klein, 1 1>2;
12. Das Überdecken von Fehlern mit @ verringert die Ausführungsgeschwindigkeit des Skripts;
13 $row['id'] ist 7-mal schneller als $row[id] , es wird empfohlen, es zu entwickeln. Die Gewohnheit, Array-Schlüssel in Anführungszeichen zu setzen;
14 Fehlermeldungen sind nützlich;
15. Verwenden Sie keine Funktionen in Schleifen, wie z. B. For($x=0; $x < count($array); $x) , die count()-Funktion wird zuerst außerhalb berechnet;
16. Das Erstellen einer globalen Variablen ist 2-mal langsamer als das Erstellen eines Objektattributs ( eine Variable in einer Klasse) wie ($this- > prop ) ist 3-mal langsamer als lokale Variablen;
18. Das Erstellen einer nicht deklarierten lokalen Variablen ist 9-10-mal langsamer als eine initialisierte lokale Variable;
19 . Das Deklarieren einer lokalen Variablen, die von keiner Funktion verwendet wurde, verringert ebenfalls die Leistung (dasselbe wie das Deklarieren der gleichen Anzahl lokaler Variablen
), PHP prüft möglicherweise, ob die globale Variable vorhanden ist;
Leistung von Methoden und die Anzahl der in einer Klasse definierten Methoden Es spielt keine Rolle, da es keinen Leistungsunterschied gibt, nachdem ich 10 oder mehr Methoden
zur getesteten Klasse hinzugefügt habe (diese Methoden liegen vor und nach der Testmethode 21. Die Leistung von Methoden in Unterklassen ist besser als die in Basisklassen.
22 Eine Funktion, die nur einen Parameter aufruft und einen leeren Körper hat, benötigt 7-8 $localvar-Operationen, während
eine ähnliche Methode (Funktion in der Klasse) benötigt etwa 15 $localvar-Operationen;
23 Es ist schneller, bei der Ausgabe von Zeichenfolgen Kommas anstelle von Punkten zu verwenden. Hinweis: Dies funktioniert nur für echo. Diese Funktion kann einige Zeichenfolgen als Parameter akzeptieren. Auf dem Apache-Server dauert die Generierung einer PHP-Skriptseite mindestens zwei bis zehn Mal 🎜>Es wird empfohlen, mehr statische HTML-Seiten und eine kleine Anzahl von Skripten zu verwenden.
25 Sofern Sie keinen Cache installiert haben, muss Ihr PHP-Skript bei jedem Zugriff neu kompiliert werden. Es wird empfohlen, ein PHP-Caching-Programm
zu installieren, das Ihre Leistung durch das Entfernen einiger wiederholter Kompilierungen erheblich verbessern kann
26. Es wird empfohlen, Memcached zu verwenden, ein leistungsstarkes verteiltes Speicherobjekt-Caching System, um die Leistung dynamischer Netzwerkanwendungen zu verbessern,
die Belastung der Datenbank zu reduzieren
27. Verwenden Sie die Funktionen ip2long() und long2ip(), um die IP-Adresse in einen Ganzzahltyp umzuwandeln und sie stattdessen in der Datenbank zu speichern eines Charaktertyps. Dadurch reduziert sich der Speicherplatz um fast ein Viertel. Gleichzeitig können Adressen einfach sortiert und schnell durchsucht werden.
28 Verwenden Sie checkdnsrr(), um die Gültigkeit einiger E-Mail-Adressen anhand der Existenz von Domänennamen zu bestätigen.
jeder Domänenname entspricht einer IP-Adresse. ;
29. Wenn Sie php5 und mysql4.1 oder höher verwenden, sollten Sie die verbesserte Funktion mysqli_* von mysql_* verwenden;
30. :);
31. Bevor Sie darüber nachdenken, Ihr Projekt komplett zu überarbeiten, prüfen Sie, ob PEAR das hat, was Sie brauchen. PEAR ist eine riesige Ressourcenbibliothek,
viele PHP-Entwickler kennen sie;
32. Verwenden Sie die Funktion „highlight_file()“, um automatisch eine gut formatierte Kopie des Seitenquellcodes zu drucken um zu verhindern, dass dem Benutzer potenziell sensible Informationen angezeigt werden. Idealerweise sollte die Fehlerberichterstattung
in der Datei php.ini vollständig deaktiviert sein. Wenn Sie jedoch einen gemeinsam genutzten virtuellen Host verwenden und php.ini nicht ändern können,
, sollten Sie besser die Funktion error_reporting(0) hinzufügen und in die erste Zeile jeder Skriptdatei einfügen (oder
require_once verwenden). ( ) zum Laden) Dies kann wirksam verhindern, dass sensible SQL-Abfragen und Pfade angezeigt werden, wenn Fehler auftreten;
34. Verwenden Sie gzcompress() und gzuncompress(), um Zeichenfolgen mit großer Kapazität zu komprimieren (dekomprimieren) und in ( zu speichern out) Nummer
Datenbank. Diese integrierte Funktion kann mit dem gzip-Algorithmus bis zu 90 % komprimiert werden;
35 Eine Funktion kann mehrere Rückgabewerte haben, indem sie auf Parametervariablenadressen verweist. Sie können vor der Variablen ein „&“ hinzufügen, um anzugeben, dass
nach Adresse und nicht nach Wert übergeben wird. Die Verwendung von strlen() ist nicht sehr schnell, da einige andere Operationen wie Kleinbuchstaben und aufgerufen werden müssen Hash-Tabellenabfragen. ,
Wir können isset() verwenden, um ähnliche Funktionen zu erreichen, isset() ist schneller als strlen();

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage