Schwächen von PHP

PHP – Das Universalwerkzeug

PHP-Hammer
PHP-Hammer

Fehlende Konventionen

  • Methoden sind nicht einheitlich benannt
    • strpos, str_rot13
    • php_uname, phpversion
    • base64_encode, urlencode,
    • gettype, get_class
    • ascii2ebcdic, bin2hex, deg2rad, strtolower, strtotime
  • Parameterreihenfolge variiert
    • array_filter($input, $callback)
    • array_map($callback, $input)

Typ-Konvertierung

$a = 3 + "2";
$b = "asd" + 4;
$c = "asd" + "asd";
$d = 123 == "123foo";
$e = "asd" == TRUE;
$f = "asd" == 0;
$g = TRUE == 0;
$h = TRUE == "";
$i = TRUE == 1;
$j = TRUE == 6;
$a = 3 + "2";         // 5
$b = "asd" + 4;       // 4
$c = "asd" + "asd";   // 0
$d = 123 == "123foo"; // TRUE
$e = "asd" == TRUE;   // TRUE
$f = "asd" == 0;      // TRUE
$g = TRUE == 0;       // FALSE
$h = TRUE == "";      // FALSE
$i = TRUE == 1;       // TRUE
$j = TRUE == 6;       // TRUE

Magische Rückgabewerte

  • array_search
    • gibt FALSE zurück, wenn kein Treffer
    • FALSE wird zu 0 konvertiert
    • Führt bei == direkt in die Katastrophe
  • json_decode
    • gibt NULL zurück, wenn Daten nicht dekodiert werden können
    • NULL ist ein gültiger JSON-Wert
    • Fehler müssen mit json_last_error abgefragt werden

Copyright © 2025 Thomas Smits