Heim  >  Artikel  >  Backend-Entwicklung  >  Wissensaustausch zur PHP-Code-Optimierung

Wissensaustausch zur PHP-Code-Optimierung

小云云
小云云Original
2018-03-05 14:00:311275Durchsuche

Dieser Artikel vermittelt Ihnen hauptsächlich etwas Wissen über die PHP-Code-Optimierung. Der Artikel fasst mehr als 40 Wissenspunkte über die Optimierung von Code zusammen.

1. Kopieren Sie nicht nur Variablen

BAD:
$description = $_POST['description'];
echo $description;
GOOD:
echo $_POST['description'];

2. Verwenden Sie einfache Anführungszeichen für Zeichenfolgen
3. Verwenden Sie switch/case anstelle von if/else
4. Aktivieren Sie das mod_deflate-Modul von Apache, um die Browsing-Geschwindigkeit von Webseiten zu verbessern.
5. Die Datenbankverbindung sollte nach Beendigung der Verwendung geschlossen werden und keine langen Verbindungen verwenden.
PHP-Generierung optimieren
1. Wenn eine Methode statisch sein kann, kann die Geschwindigkeit um 1/4 erhöht werden;
2. Echo ist effizienter als print, da echo nein ist Rückgabewert, print gibt eine Ganzzahl zurück;
3. Legen Sie die maximale Anzahl von Schleifen vor der Schleife fest. Verwenden Sie stattdessen am besten foreach.
4. unset(), null
5. Vermeiden Sie die Verwendung magischer Methoden wie __get, __set, __autoload usw.;
6.require_once(), include_once() sind ressourcenintensiver, require() hat eine höhere Ausführungseffizienz; *
7. Verwenden Sie absolute Pfade in Includes und Requires, damit Sie weniger Zeit mit der Analyse von Pfaden verbringen.
8 Wenn Sie die Zeit vom Sexinsex bis zur Skriptausführung benötigen, ist $_SERVER['REQUSET_TIME'] besser als time( );
9. Wenn Sie Zeichenverarbeitungsfunktionen verwenden können, versuchen Sie, diese zu verwenden, da die Effizienz höher ist als bei regulären Ausdrücken;
10.str_replace Die Zeichenersetzung ist schneller als die reguläre Ersetzung preg_replace, aber strtr ist 1 /4 schneller als str_replace; >11. Wenn eine Funktion sowohl Arrays als auch einfache Zeichen als Parameter akzeptieren kann, z. B. die Zeichenersetzung, und die Parameterliste nicht zu lang ist, können Sie prägnantere Ersetzungsanweisungen in Betracht ziehen, um nur ein Zeichen zu ersetzen einmal,
statt Akzeptiert Arrays als Such- und Ersetzungsparameter. Große Dinge klein machen, 1+1>2;
12. Die Verwendung von @ zum Vertuschen von Fehlern verringert die Ausführungsgeschwindigkeit des Skripts;
13.$row['id'] ist 7-mal schneller als $row [id], es wird empfohlen, die Angewohnheit beizubehalten, Array-Schlüssel in Anführungszeichen zu setzen;
14. Fehlermeldungen sind sehr nützlich;
15. Verwenden Sie keine Funktionen in Schleifen, wie z. B. For($x= 0; $x < count($x ), die Funktion count() berechnet zuerst außerhalb einer Methode, 97xxoo ist fast so schnell in einer Methode;
17. Das Erstellen einer globalen Variablen ist 2-mal langsamer.
18 Das Erstellen einer Objekteigenschaft (Variable in einer Klasse) ist 3 Mal langsamer als lokale Variablen;
19. Das Erstellen einer nicht deklarierten lokalen Variablen ist 9-10 Mal langsamer als eine initialisierte lokale Variable;
20 sowie die Deklaration der gleichen Anzahl lokaler Variablen) und PHP kann Folgendes tun: Überprüfen Sie, ob diese globale Variable vorhanden ist
21. Die Leistung der Methode hat nichts mit der Anzahl der in einer Klasse definierten Methoden zu tun, da ich 10 hinzugefügt habe oder mehr Methoden zur getesteten Klasse (diese Methoden liegen vor und nach der Testmethode);
Die Leistung der Methode in der Unterklasse ist besser als die in der Basisklasse Das Ausführen einer Funktion mit nur einem Parameter und einem leeren Funktionskörper entspricht dem 7-8-fachen $localvar++-Vorgang, und die Ausführung einer ähnlichen Methode (Funktion in der Klasse) entspricht etwa 15 $localvar++-Vorgängen;
24 sind beim Definieren von Zeichenfolgen besser als doppelte Anführungszeichen
25. Verwenden Sie bei der Ausgabe einer Zeichenfolge schneller Kommas anstelle von Punkten. Hinweis: Dies funktioniert nur für Echo.
26 Auf dem Apache-Server dauert die Generierung einer PHP-Skriptseite mindestens 2-10 Mal länger Es wird empfohlen, mehr statische HTML-Seiten und eine kleine Anzahl von Skripten zu verwenden;
27. 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 um 20–100 % verbessern kann, indem einige wiederholte Kompilierungen entfernt werden
28. Es wird empfohlen, memcached zu verwenden, ein leistungsstarkes verteiltes Speicherobjekt-Caching-System Verbessern Sie die Programmleistung dynamischer Netzwerkanwendungen und reduzieren Sie die Belastung der Datenbank.
29. Verwenden Sie die Funktionen ip2long() und long2ip(), um die IP-Adresse in eine Ganzzahl umzuwandeln und diese anstelle eines Zeichens in der Datenbank zu speichern. Dadurch reduziert sich der Speicherplatz um fast ein Viertel. Gleichzeitig können Adressen einfach sortiert und schnell durchsucht werden.
30 Verwenden Sie checkdnsrr(), um die Gültigkeit einiger E-Mail-Adressen anhand der Existenz von Domänennamen zu bestätigen an eine IP-Adresse;
31. Wenn Sie php5 und mysql4.1 oder höher verwenden, sollten Sie die verbesserte Funktion mysqli_* von mysql_*;
32 verwenden 🎜>33. Sie möchten sehen, ob PEAR das hat, was Sie brauchen, bevor Sie Ihr Projekt komplett überarbeiten. PEAR ist eine riesige Ressourcenbibliothek, wie viele PHP-Entwickler wissen;
34. Verwenden Sie highlights_file(), um automatisch eine gut formatierte Kopie des Seitenquellcodes zu drucken;
35. Verwenden Sie die Funktion error_reporting(0), um dies zu verhindern potenziell sensible Informationen nicht den Benutzern angezeigt werden. Idealerweise sollte die Fehlerberichterstattung in der php.ini-Datei vollständig deaktiviert sein. Wenn Sie jedoch einen gemeinsam genutzten virtuellen Host verwenden und
php.ini nicht ändern können, fügen Sie besser die Funktion error_reporting(0) hinzu und fügen Sie sie in die erste Zeile jeder Skriptdatei ein (oder verwenden Sie require_once(), um Laden Sie es) Dies kann wirksam verhindern, dass sensible SQL-Abfragen und Pfade angezeigt werden, wenn Fehler auftreten;
36 Verwenden Sie gzcompress() und gzuncompress(), um Zeichenfolgen mit großer Kapazität zu komprimieren (dekomprimieren) und sie in der Datenbank zu speichern Stunde. Diese integrierte Funktion kann mit dem gzip-Algorithmus auf 90 % komprimiert werden.
37 Eine Funktion kann mehrere Rückgabewerte haben, indem sie auf die Parametervariablenadresse verweist. Sie können vor der Variablen ein „&“ hinzufügen, um anzugeben, dass sie nach Adresse und nicht nach Wert übergeben wird;
38. Verstehen Sie „magische Anführungszeichen“ und die Gefahren der SQL-Injection vollständig. Ich hoffe, dass die meisten Entwickler, die dies lesen, bereits mit SQL-Injection vertraut sind.
Ich liste es jedoch hier auf, weil es absolut wichtig ist, es zu verstehen. Wenn Sie den Begriff noch nie gehört haben, verbringen Sie den Rest des Tages damit, zu googeln
und zu lesen.
39. Die Verwendung von strlen() ist nicht sehr schnell, da einige andere Operationen wie Kleinbuchstaben- und Hash-Tabellenabfragen aufgerufen werden müssen. Wir können isset() verwenden, um ähnliche Funktionen zu erreichen.
40 Das Erhöhen von $i++ oder das Dekrementieren von $i-- ist etwas langsamer als ++$i oder --$i , dies ist einzigartig für PHP und nicht für andere Sprachen geeignet
42. foreach-Schleife ersetzt while oder for *
43. Verwenden Sie file_get_contents() für große Dateien, fopen(), fread() für kleine Dateien
44. Normale Schreibmethode. Es ist schneller als das Kapseln von Methoden und Klassen und als Beispiel für einen Geschwindigkeitsvergleichstest



Zusammenfassung der PHP-Code-Optimierung

PHP-Code-Optimierung und Zusammenfassung von PHP-bezogenen Problemen

Das obige ist der detaillierte Inhalt vonWissensaustausch zur PHP-Code-Optimierung. 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