Linksammlung PHP-Anwendungen optimieren

Veröffentlicht am 28.8.2006, 03:06 Uhr

http://benchmark.nophia.de/

http://www.thegeek.de/blog/index.php?type=archiv&post=200412

http://blog.antikoerperchen.de/beitrag/57/tra…en-website-geschwindigkeit-steigern.html

http://phplens.com/lens/php-book/optimizing-debugging-php.php

http://phplens.com/phpeverywhere/node/view/52

http://www.blueshoes.org/en/developer/php_bench/

http://www.fudnik.com/main/tiki-view_for…orumId=1&comments_parentId=2

http://www.phpbar.de/w/Referenz

Mal wieder die Text-Dateien vom Desktop aufräumen :) Ergänzungen?

PHP: Achtung bei current(), next() und prev()

Veröffentlicht am 26.8.2006, 15:52 Uhr

Im Manual steht es groß und auffällig, trotzdem habe ich natürlich einige Zeit gebraucht bis ich auch die Idee kam dort nachzuschauen:

Enthält das Array leere Elemente (0 oder “”, den leeren String), wird für diese ebenfalls ein Wert zurückgegeben, der als FALSE ausgewertet wird (siehe Umwandlung nach boolean und die Typvergleichs-Tabelle für zusätzliche Informationen). Das macht es unmöglich, unter Verwendung von current() herauszufinden, ob das wirklich am Ende der Liste sind. Um ein Array, das leere Elemente enthalten könnte richtig durchzugehen, verwenden Sie die Funktion each().

Also merken: current(), next() und prev() sind böse.

Mögliche Alternative zu in_array bei großen Arrays

Veröffentlicht am 21.8.2006, 02:03 Uhr

http://de2.php.net/manual/de/function.in-array.php#60559

[...]

The non technical explanation is before is you had 100 items and it took you 100 microseconds for in_array with 10 000 items it would take you 10 000 microseconds. while with the second one it would still take you 100 microsecond if you have 100 , 10 000 or 1 000 000 ids.

(the 100 microsecond is just a number pulled out of thin air used to compare and not an actual time it may take)

Tools für reguläre Ausdrücke: The Regulator & Regulazy

Veröffentlicht am 28.7.2006, 08:46 Uhr

Keiner mag reguläre Ausdrücke. Deshalb gibt es auch so viele toole Tools, die helfen sollen sie zu verstehen, visualisieren oder zu erstellen. The Regex Coach von Edi Weitz nutze ich schon eine Zeit lang. 2 weitere sind mir gerade über den Weg gelaufen:

  1. The Regulator

    The Regulator is an advanced, free regular expressions testing and learning tool written by Roy Osherove. It allows you to build and verify a regular expression against any text input, file or web, and displays matching, splitting or replacement results within an easy to understand, hierarchical tree.

  2. Regulazy

    Regulazy is a visual Regex Creation tool for beginners. Easy point and click user interfaces, predictive technology and much more! Still in alpha, but more features are coming!

Beide sind übrigens von Roy Osherove und werden in nächster Zeit mal bei mir getestet.

PHP: Zeilennummer ausgeben mit __LINE__

Veröffentlicht am 21.7.2006, 13:08 Uhr

Ach, da code ich nun seit x Jahren mit PHP durch die Gegend und bin nie auf die Idee gekommen, mal zu schauen, ob denn die Zeilennummer, die gerade ausgeführt wird, ausgeben werden kann.

Heute hatte ich dann endlich diese Idee: http://de.php.net/constants.predefined

Das hat man nun vom “Learning by Doing”…

Häufige Fehlerquelle bei mysql_real_escape_string()

Veröffentlicht am 19.7.2006, 23:16 Uhr

mysql_real_escape_string() sollte ja auf jeden String angewendet werden, der in die Datenbank eingetragen wird. Mehrmals passierte es mir nun schon, dass ich auf neuen Servern nach der Ausführung eines Scriptes den Backslash auch in der Datenbank wiederfand. Grund:

Falls Sie magic_quotes_gpc aktiviert haben und mit Daten aus Benutzereingaben arbeiten, müssen Sie vorher Ihre Daten mit stripslashes() behandeln.

So einfach. Muss es mir nur merken. Und den Apache nach der Änderung neu starten.

Vorsicht bei der php-Funktion http_build_query()

Veröffentlicht am 14.7.2006, 17:59 Uhr

Die Funktion http_build_query() kann ab PHP5 dazu benutzt werden aus Arrays einen URL-enkodierten String zu machen. Das ist toll. Vorher musste man sich das selber schreiben:

function http_build_query($formdata, $numeric_prefix = "") {
$arr = array();
foreach ($formdata as $key => $val)
$arr[] = urlencode($numeric_prefix.$key)."=".urlencode($val);
return implode($arr, "&");
}

Aufpassen sollte man jedoch, dass der Parameter “arg_separator.output” in der php.ini wirklich auf “&” und nicht auf “&” eingestellt ist – die angefragten Server nehmen einem das sehr übel. Zusätzlich entdeckt man es im Output des Query-Strings im Browser nicht.

Warum ich das erzähle? Ich habe heute fast eine ganze Stunde damit verbracht. Klasse.

Googlebot visited this page Samstag, 21. Januar 2012, 13:04:03
17 queries. 0,481 seconds.