PHP ist die nützlichste Sprache bei der Erstellung von Blogs und Websites. Es hat viele Funktionen, die verwendet werden können, um noch mehr benutzerdefinierte Funktionen abzuleiten. Wir haben die nützlichsten gesammelt PHP-Tricks und Tipps für Anfänger und sogar Entwickler. Diese PHP-Tricks machen Ihre Programmierung produktiver und effektiver.
Liste der PHP-Tricks und -Tipps
1. Echo ist schneller als Drucken.
2. Umschließen Sie Ihren String in einfache Anführungszeichen (') statt in doppelte Anführungszeichen (") ist schneller, da PHP nach Variablen in "..." und nicht in "..." sucht. Verwenden Sie dies, wenn Sie keine Variablen verwenden, die Sie in Ihrem evaluieren müssen Schnur.
3. Verwenden Sie sprintf anstelle von Variablen in doppelten Anführungszeichen, es ist etwa 10x schneller.
4. Verwenden Sie die mehreren Parameter von echo (oder gestapelt) anstelle der String-Verkettung.
5. Verwenden Sie Vorberechnungen, legen Sie den maximalen Wert für Ihre for-Schleifen vor und nicht in der Schleife fest. dh: für ($x=0; $x < count($array); $x), dies ruft jedes Mal die count()-Funktion auf, verwenden Sie stattdessen $max=count($array), bevor die for-Schleife beginnt.
6. Setzen Sie Ihre Variablen zurück oder nullen Sie sie, um Speicher freizugeben, insbesondere bei großen Arrays.
7. Vermeiden Sie Magie wie __get, __set, __autoload.
8. Verwenden Sie nach Möglichkeit require() anstelle von require_once().
9. Verwenden Sie vollständige Pfade in beinhaltet und erfordert weniger Zeitaufwand für das Auflösen der Betriebssystempfade.
10. require() und include() sind in jeder Hinsicht identisch, mit Ausnahme von require halts, wenn die Datei fehlt. Leistungstechnisch gibt es kaum Unterschiede.
11. Seit PHP5 kann die Zeit, zu der das Skript ausgeführt wurde, in $_SERVER['REQUEST_TIME'] gefunden werden, verwenden Sie dies anstelle von time() oder microtime().
12. PCRE Regex ist schneller als EREG, aber sehen Sie immer, ob Sie stattdessen schnellere native Funktionen wie strncasecmp, strpbrk und stripos verwenden können.
13. Beim Parsen mit XML in PHP versuchen Sie xml2array, das die PHP XML-Funktionen verwendet. Für HTML können Sie das DOM-Dokument von PHP oder DOM XML in PHP4 ausprobieren.
14. str_replace ist schneller als preg_replace, str_replace ist insgesamt am besten, jedoch ist strtr bei größeren Strings manchmal schneller. Die Verwendung von array() innerhalb von str_replace ist normalerweise schneller als mehrere str_replace.
15. „else if“-Anweisungen sind schneller als select-Anweisungen, auch case/switch genannt.
16. Die Fehlerunterdrückung mit @ ist sehr langsam.
17. Um die Bandbreitennutzung zu reduzieren, schalten Sie mod_deflate in Apache v2 ein oder versuchen Sie für Apache v1 mod_gzip.
18. Schließen Sie Ihre Datenbankverbindungen, wenn Sie damit fertig sind.
19. $row['id'] ist siebenmal schneller als $row[id], denn wenn Sie keine Anführungszeichen angeben, muss erraten werden, welchen Index Sie meinen, vorausgesetzt, Sie meinen keine Konstante.
20. Verwenden Sie -Tags, wenn Sie PHP deklarieren, da alle anderen Stile abgewertet werden, einschließlich kurzer Tags.
21. Verwenden Sie strikten Code, vermeiden Sie das Unterdrücken von Fehlern, Hinweisen und Warnungen, was zu sauberem Code und weniger Overhead führt. Ziehen Sie in Erwägung, error_reporting(E_ALL) immer aktiviert zu haben.
22. PHP-Skripte werden von Apache httpd 2-10 mal langsamer bedient als eine statische Seite. Versuchen Sie, statische Seiten anstelle von serverseitigen Skripten zu verwenden.
23. PHP-Skripte (sofern sie nicht zwischengespeichert werden) werden bei jedem Aufruf im Handumdrehen kompiliert. Installieren Sie ein PHP-Caching-Produkt (wie Memcached oder eAccelerator oder Turck MMCache), um die Leistung in der Regel um 25-100 % zu steigern, indem Sie die Kompilierungszeiten entfernen. Sie können eAccelerator sogar auf cPanel mit EasyApache3 einrichten.
24. Eine alternative Caching-Technik, wenn Sie Seiten haben, die sich nicht allzu häufig ändern, besteht darin, die HTML-Ausgabe Ihrer PHP-Seiten zwischenzuspeichern. Probieren Sie Smarty oder Cache Lite aus.
25. Verwenden Sie nach Möglichkeit isset anstelle von Strlen. (dh: if (strlen($foo) < 5) { echo „Foo ist zu kurz“; } vs. if (!isset($foo{5})) { echo „Foo ist zu kurz“; } ).
26. ++$i ist schneller als $ i++, also verwenden Sie nach Möglichkeit Pre-Increment.
27. Nutzen Sie die unzähligen vordefinierten Funktionen von PHP, versuchen Sie nicht, Ihre eigenen zu erstellen, da die nativen viel schneller sind; Wenn Sie über sehr zeit- und ressourcenintensive Funktionen verfügen, sollten Sie sie als C-Erweiterungen oder -Module schreiben.
28. Profilieren Sie Ihren Code. Ein Profiler zeigt Ihnen, welche Teile Ihres Codes wie viel Zeit in Anspruch nehmen. Der Xdebug-Debugger enthält bereits einen Profiler. Das Profiling zeigt Ihnen die Engpässe im Überblick.
29. Dokumentieren Sie Ihren Code.
30. Lernen Sie den Unterschied zwischen gutem und schlechtem Code kennen.
31. Halten Sie sich an Codierungsstandards, damit Sie den Code anderer leichter verstehen und andere Ihren Code verstehen können.
32. Trennen Sie Code, Inhalt und Präsentation: Halten Sie Ihren PHP-Code von Ihrem HTML-Code getrennt.
33. Machen Sie sich nicht die Mühe, komplexe Vorlagensysteme wie Smarty zu verwenden, verwenden Sie das bereits in PHP enthaltene, lesen Sie ob_get_contents und extrahieren Sie und ziehen Sie die Daten einfach aus Ihrer Datenbank.
34. Vertrauen Sie niemals Variablen aus dem Userland (wie zB von $_POST). Verwenden Sie mysql_real_escape_string bei der Verwendung von mysql und htmlspecialchars bei der Ausgabe als HTML.
35. Bewahren Sie aus Sicherheitsgründen niemals etwas in Ihrem Webroot auf, das Informationen über Pfade, Erweiterungen und Konfiguration preisgeben könnte, wie zum Beispiel display_errors oder phpinfo().
36. Schalten Sie register_globals aus (es ist aus einem bestimmten Grund standardmäßig deaktiviert!). Für kein Skript auf Produktionsebene sollte dies aktiviert sein, da dies ein Sicherheitsrisiko darstellt. Reparieren Sie alle Skripte, die es erfordern, und reparieren Sie alle Skripte, die es erfordern, indem Sie unregister_globals() verwenden. Tun Sie dies jetzt, da es in PHP6 entfernt werden soll.
37. Vermeiden Sie die Verwendung von Klartext beim Speichern und Auswerten von Passwörtern, um eine Offenlegung zu vermeiden. Verwenden Sie stattdessen einen Hash, wie z. B. einen md5-Hash.
38. Verwenden Sie ip2long() und long2ip(), um IP-Adressen als ganze Zahlen statt als Strings zu speichern.
39. Sie können vermeiden, das Rad neu zu erfinden, indem Sie das PEAR-Projekt verwenden, das Ihnen bestehenden Code von hohem Standard zur Verfügung stellt.
40. Bei Verwendung von header('Location: '.$url); Denken Sie daran, ihm mit einem Würfel zu folgen (); da das Skript weiter ausgeführt wird, obwohl sich der Speicherort geändert hat, oder vermeiden Sie es, wenn möglich, alles zusammen zu verwenden.
41. Wenn eine Methode in OOP eine statische Methode sein kann, deklarieren Sie sie als statisch. Die Geschwindigkeitsverbesserung beträgt den Faktor 4.
42. Das Inkrementieren einer lokalen Variablen in einer OOP-Methode ist am schnellsten. Fast dasselbe wie das Aufrufen einer lokalen Variablen in einer Funktion und das Inkrementieren einer globalen Variablen ist 2-mal langsamer als eine lokale Variable.
43. Das Inkrementieren einer Objekteigenschaft (zB $this->prop++) ist dreimal langsamer als eine lokale Variable.
44. Das Inkrementieren einer undefinierten lokalen Variable ist 9-10 mal langsamer als eine vorinitialisierte.
45. Nur eine globale Variable zu deklarieren, ohne sie in einer Funktion zu verwenden, verlangsamt die Dinge (um ungefähr den gleichen Betrag wie das Inkrementieren einer lokalen Variablen). PHP prüft wahrscheinlich, ob das Global existiert.
46. Der Methodenaufruf scheint unabhängig von der Anzahl der in der Klasse definierten Methoden zu sein, da ich der Testklasse 10 weitere Methoden (vor und nach der Testmethode) ohne Leistungsänderung hinzugefügt habe.
47. Methoden in abgeleiteten Klassen laufen schneller als diejenigen, die in der Basisklasse definiert sind.
48. Ein Funktionsaufruf mit einem Parameter und einem leeren Funktionsrumpf dauert ungefähr so lange wie die Ausführung von 7-8 $localvar++-Operationen. Ein ähnlicher Methodenaufruf umfasst natürlich 15 $localvar++-Operationen.
49. Nicht alles muss OOP sein, oft ist es nur Overhead, jeder Methoden- und Objektaufruf verbraucht viel Speicher.
50. Vertrauen Sie niemals Benutzerdaten, maskieren Sie Ihre Strings, die Sie in SQL-Abfragen verwenden, mit mysql_real_escape_string anstelle von mysql_escape_string oder addslashes. Beachten Sie auch, dass Sie, wenn magic_quotes_gpc aktiviert ist, zuerst Stripslashes verwenden sollten.
51. Vermeiden Sie das Problem mit der Header-Injektion der PHP-Mail()-Funktion.
52. Deaktivieren Sie Ihre Datenbankvariablen (mindestens das Kennwort), Sie sollten es nicht benötigen, nachdem Sie die Datenbankverbindung hergestellt haben.
53. RTFM! PHP bietet ein fantastisches Handbuch, möglicherweise eines der besten auf dem Markt, was es zu einer sehr praktischen Sprache macht, die Arbeitsbeispiele bietet und in einfachem Englisch spricht.
Dies sind einige der PHP-Tricks und -Tipps, die sehr nützlich sein können für diejenigen, die gerade erst mit dem Erlernen der PHP-Sprache begonnen haben, und auch für diejenigen, die seit einer guten Zeit entwickeln. RTFM ist jedoch der effizienteste Weg, um PHP zu lernen.
Es ist wirklich hilfreich, wenn Sie als Anfänger beginnen.
Tolle Tipps.. Danke!
Lesezeichen!!!!
Toller Beitrag, diese PHP-Tipps und -Tricks helfen allen neuen PHP-Entwicklern sehr und daraus habe ich auch einige PHP-Tipps und -Tricks bekommen, die ich bis jetzt überhaupt nicht kenne.
Schön, dass dir der Beitrag gefallen hat.
Tolle Tipps, aber ich denke, Sie sollten Punkt 37 ändern. Ein einfacher MD5-Hash ist in der Welt, in der wir leben, nicht wirklich ausgereift genug.
Ja, ich weiß, aber Privatsphäre ist Privatsphäre.
Nr. 15
if/else ist schneller als switch, du hast recht, ich habe ein paar Tests gemacht,
Sie sollten jedoch überlegen, in welchem Fall Sie den Schalter verwenden.
Ich habe es gefahren, 10,1000,100000 und 1 Million Zyklen getestet und das Ergebnis ist:
in 100 Zyklen erhalten Sie 0,13 s Unterschied auf dem lokalen Computer (auf einem externen Server sollten Sie weniger Unterschiede erhalten).
Sie sollten also in Betracht ziehen, if/else of switch zu verwenden. Ich bevorzuge die Verwendung von Switch wegen des saubereren Codes. 1 Schalter verwenden, 2 Schalter, sogar 100 Schalter statt if/else … egal, es ist bedeutungslos.
Nr. 26
Ich teste jetzt,
mit $i++ und ++$i
Es ist ganz einfach – Nummer 26 ist bedeutungslos, bis Sie mehr als 10 mil verwenden möchten. Fahrräder.
Und Unterschied?
10mil Zyklen mit $i++ 2.67448 s
10mil Zyklen mit ++$i 2.605528 s
24. (…) Probieren Sie Smarty oder Cache Lite aus.
33. Machen Sie sich nicht die Mühe, komplexe Vorlagensysteme wie Smarty . zu verwenden
ok.
(Ich persönlich würde die #33 einfach streichen; smarty (oder andere Templating-Systeme) hat viele Vorteile gegenüber den ob_-Funktionen…)
Bemerkenswerte Tipps. Danke, Alter, hilf mir sehr bei meinem Programmierjob.
Echo ist schneller als das Drucken mit einem Opcode, also spielt es wirklich keine Rolle. Und print() ist eine Funktion, echo nicht. Versuche dies:
$variable und print 'Variable ist gesetzt!';
Und zum Inkrementieren: $i += 1; ist der schnellste.
Toller Artikel, danke!
Tolle Tipps..vielen Dank fürs Teilen..mit Lesezeichen versehen und geteilt 🙂
Ist es möglich, die Daten zu bereinigen, ohne den magic_quotes_gpc zu verwenden?.
Das ist eine nette Zusammenfassung einiger PHP-Codetricks. Es ist wichtig, dass ein Entwickler auch die Leistung des von ihm entwickelten Codes berücksichtigt. Danke für das Teilen.
Danke, diese Tipps sind großartig für mich, da ich ein Anfänger in PHP bin.
Hallo, sein großartiger Inhalt und PHP ist eine sehr coole Sprache. Ich werde diesen Tricks auf jeden Fall folgen, aufgrund seiner Funktionen ist es sehr einfach zu verstehen und zu lernen.
Sie haben wirklich großartige Arbeit geleistet, indem Sie diese interessanten PHP-Tricks gepostet haben, die sehr hilfreich sind.
Toller Artikel danke fürs Teilen
Tolle Tipps, aber ich denke, Sie sollten Punkt 37 ändern. Ein einfacher MD5-Hash ist in der Welt, in der wir leben, nicht wirklich ausgereift genug.
Ich bin schon lange ein Follower Ihrer Website, danke.
Kombinieren Sie Ihre Zeichenfolge, bevor Sie Echo verwenden. Echo wird Ihre Website verlangsamen.
Großartiger Informationsmann.
Guter Eintrag! Du machst einen guten Job. Danke für das nette Teilen. Danke schön.
Erstaunliche 50 PHP-Tipps, ja wirklich hilfreich für mich, da ich Anfänger auf diesem Gebiet bin. Vielen Dank fürs Teilen.