lulu: Licht und Schatten

Hallo PHP-VerwenderInnen

in PHP existieren ja diverse Funktionen resp. Funktionalitäten die einem das Schreiben
effektiver Webanwendungen erleichtern sollen.

Da wären zunächst u.a. register_globals, magic_quotes und die automatische Typ-Konvertierung (type casting) zu nennen.

Auf den ersten Blick machen sie die Sache schön einfach, aber sind meiner Meinung nach auch
gut geeignet unter bestimmten Konstellationen mehr Schaden als Nutzen anzurichten.

Es interessiert mich welche PHP-Funktionen oder Funktionalitäten Euch in der Praxis mehr Kummer als Freude bereiten, und auf die Ihr deshalb gerne verzichten würdet.

Ich mache mal den Anfang mit "extrakt()".
Das habe ich jetzt schon mehrfach in folgender Verwendung gesehen:

ein SQL-Query mit Wildcard, also z.B.
$query = 'SELECT * FROM DB_Table WHERE id=123';
$result = mysql_query($query) OR die ('Ups, something went wrong!');
$row = mysql_fetch_assoc($result);

und dann wird das Ganze per

extract($row);

in den "scope" geklatscht.

Jetzt hat man eitel viele Variablen die man lustig für dieses und jenes verwenden kann.
Fein, aber mir ist das zuviel "Voodoo".

Da fragt man sich im folgenden Programmabschnitt ob diese oder jene Variable vielleicht von besagtem "extract()" erzeugt, oder schlicht vergessen wurde sie zuvor zu initialisieren.

Das ist für mich daher eine Funktion von deren Verwendung ich dringend abraten würde, da
sie meiner Meinung nach das Nachvollziehen der Programmierung sehr erschwert.

Vielleicht habt Ihr ja ähnliche "Kandidaten" die auf Eurer "nice-to-have-but-bad-to-use"-Liste stehen.

Viele Grüße

lulu

--
bythewaythewebsuxgoofflineandenjoytheday
  1. Hi,

    mir bereiten immer diese macig_quotes Probleme. Irgendwie weiß ich nie so recht, wie und wann alle " zu " umgewandelt werden und wann nicht; und wenn ich dann mal irgendeinen Programmcode von Visual Basic habe (a = "c:\programme") und einmal zu oft strip_slashes einsetze, steht dann da a = "c:\programme", was unter Umständen Probleme bereiten kann, wenn ein Dateiname angehängt wird (c:\programmedatei.txt), oder andersherum, wenn ich "c:\programme\" habe, gibt er das dann teilweise auch so aus etc...

    E7

    PS: Danke, dass du uns zuhörst und wir uns bei dir ausheulen dürfen ;) ;) ;)

    1. Hallo e7,

      mir bereiten immer diese macig_quotes Probleme. Irgendwie weiß ich nie so recht, wie und wann alle " zu " umgewandelt werden und wann nicht;

      genau dann, wenn get_magic_quotes_gpc() (->http://de2.php.net/get_magic_quotes_gpc) 1 zurückgibt :-)

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|