phpbar.de logo

Mailinglisten-Archive

[php] Superglobals in Klassen

[php] Superglobals in Klassen

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Mon Okt 2 14:26:23 CEST 2006


Hallo Andreas,

Am Sonntag, 1. Oktober 2006 10:45 schrieb Andreas Stagl:
> bin grad auf ein Phänomen gestoßen, das ich mir nicht ganz erklären
> kann.
>
> Folgendes Skript klappt einwandfrei, wenn ich es in einem
> "prozeduralen" PHP-Skript aufrufe:
>
> <?php
> $transmit_method='POST';
> print_r (${'_'.$transmit_method});
> ?>
>
> Sobald ich genau den selben Code innerhalb einer Klassen-Funktion
> aufrufe...

[...]

> ... heisst es plötzlich "Notice:  Undefined variable: _POST in
> <skript_name> on line <linenumber>."
>
> Verzichte ich dort dann aber den Teil, wo der Name der auszugebenden
> Variable dynamisch gebildet wird, und verwende stattdessen
> "hardcoded" fix $_POST, funktioniert wieder alles:

[...]

> Sieht für mich nach einem BUG in PHP aus, oder hab ich da irgendwo
> nen Denkfehler?

gute Frage... Soweit ich sehen kann, sind von dem Phänomen nur die 
Superglobalen betroffen. Von daher könnte es einen logischen Grund für 
das Verhalten geben. Ich habe jedoch keine Idee, welcher Grund das sein 
könnte. Vielleicht bzw. vermutlich muß man auch die internen Abläufe 
von PHP kennen, um das erklären zu können.

Viele Grüße
Lutz

php::bar PHP Wiki   -   Listenarchive