Über 50 PHP-Tricks und Tipps für Anfänger und Entwickler

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.

50+ PHP-Tricks und Tipps für Anfänger

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.

Aishwar Babber

Aishwar Babber ist eine leidenschaftliche Bloggerin und digitale Vermarkterin. Er liebt es, über die neuesten Technologien und Gadgets zu reden und zu bloggen, was ihn zum Laufen motiviert GizmoBase. Derzeit setzt er seine Expertise in den Bereichen digitales Marketing, SEO und SMO als Vollzeit-Vermarkter in verschiedenen Projekten ein. Er ist ein aktiver Investor in AffiliateBay und ein Regisseur bei ImageStation.

22 Gedanken zu „50+ PHP-Tricks und Tipps für Anfänger & Entwickler“

  1. 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.

    antworten
  2. 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.

    antworten
  3. 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.

    antworten
  4. 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

    antworten
  5. 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…)

    antworten
  6. 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!

    antworten
  7. 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.

    antworten

Hinterlasse einen Kommentar