Monatsarchiv für August 2009

 
 

PHP: Best bugreport EVER!

This is the best PHP bug rebot EVER! Just read it:
http://bugs.php.net/bug.php?id=48669

Den ganzen Beitrag lesen...

PHP: Benchmark isset() or array_key_exists() ?

The Twitter user caioariede postet that you should array_key_exists() instead of isset(). He did not say why so i tried to check performance first and came to interesting results...

Den ganzen Beitrag lesen...

Piratenpartei hat Vorherrschaft in Twitter erlangt

Es geht langsam los mit dem Wahlkampf und den Vorab-Umfragen zur Bundestagswahl 2009. Eine Partei werde ich besonders im Auge behalten, die Piratenpartei oder kurz, Piraten. Diese Partei bringe endlich frischen und technisch kompetenten Wind in unsere "Was ist bitte ein Browser?" Politiger Riegen.
Doch wenn es nach den aktuellen Internetumfragen gehen würde die man inzwischen auch vermehrt auf Twitter findet, sollte die Piratenpartei die nächste Wahl haushoch gewinnen!
twitter_poll_piraten
Wenn dies mal nicht ein klares (Vorab-) Ergebnis ist. :)

PHP: foreach vs. while vs. for - The loop battle!

PHP has just one kind of array, it does not have separate lists, hash or maps, they are all combined in a "array". Iterating over such a array is a very common part so doing it wrong can lead to less performance.
In the following article i will do a short test which loop is the fastest.

Den ganzen Beitrag lesen...

PHP: PHP 5.3.0 - Short Ternary Operator

With the Realease of PHP 5.3 have come very much little new details, on of them is the short ternary operator wich annoyed me for a long time because you have to use it with 3 subjects.
Before PHP 5.3.0 this was the only way it could be done:

$result = ($if == 3) ? $than : $else;

Now in PHP 5.3.0 you can write:

$result = ($if == 3) ?: $else;

There is one problem i see here.
I cant use this in my public projects because it will make my code >= PHP 5.3 dependent wich is NOT an Option. But this mixed with the fact that namespaces are now available with PHP 5.3, it will my namespaced code always PHP 5.3 dependent.

PHP: APC oder MySQL MEMORY Table für temporären Cache?

mysql_logoBei einem aktuellen Projekt wurde APC eingesetzt um tausende kleinere Variablen zu cachen da es sich nicht lohnen würde diese in einer persistenten Datenbank zu speichern. Da der 30MB große APC Cache jedoch recht schnell voll wurde habe ich ein paar Nachforschungen angestellt, dabei bin ich zu dem Schluss gekommen dass APC für das Speichern von einzelnen kleinen Variablen viel zu viel Speicher verschwendet.

Den ganzen Beitrag lesen...

Wordpress: Remote Admin Reset Password Exploit | Wie es dazu kommen konnte

Wieder einmal eine Lücke in Wordpress. Ich mach mir mal die Mühe und zeige die Umstände wie es dazu kommen konnte.

Den ganzen Beitrag lesen...

PHP: Curl Handles schneller erzeugen durch Kopieren

Die cURL Bibliothek wir gern benutzt um Transfers in Netzwerken zu machen. Auch PHP hat ein cURL Modul welches viele Funktionen von cURL bietet. Um cURL zu nutzen muss dazu erst ein cURL Handle erzeugt werden, dem dann Optionen übergeben werden welche den Transfer beeinflussen.
Wer viele dieser Handles erstellen muss wäre nach meinem Benchmark schneller wenn er sich einen cURL Template Handle erstellt und diesen dann nur noch mit curl_copy_handle() kopiert und fehlende Optionen hinzufügt. Auf diese Weise kann man einen cURL Handle etwa 40% schneller erschaffen als es jedes mal komplett neu möglich ist.

Wer den Benchmark sehen will, einfach weiterlesen.

Den ganzen Beitrag lesen...

PHP: Objekte schneller erzeugen mit Caching

Gestern habe ich etwas über "static" Variablen in Funktionen geschrieben, heute kommt gleich eine praktische Anwendungsmöglichkeit.
Wer in seinen Scripten/Programmen oft viele Objekte erzeugen muss, der könnte dies locker 10% bis 30% schneller machen indem man fertige Objekte einfach cacht.
Wie das geht und was es bringt, einfach weiterlesen.

Den ganzen Beitrag lesen...

PHP: Das Schlüsselwort 'static' in PHP Funktionen

Wer in der PHP Dokumentation nach 'static' sucht wird diesen Artikel finden: http://www.php.net/manual/de/language.oop5.static.php
Was manche jedoch nicht wissen, das Wort 'static' kann auch in normalen Funktionen verwendet werden kann und dort eine ganz andere Bedeutung.

Den ganzen Beitrag lesen...