phpbar.de logo

Mailinglisten-Archive

[php] Superglobals in Klassen

[php] Superglobals in Klassen

Niels Runge info at runge.it
Mon Okt 2 14:45:19 CEST 2006


Hallo nochmal,
>> Andreas Stagl wrote:
>>   
>>     
>>> 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>."  
>>>     
>>>       
> Workaround:
>
> <?php 
> Header('Content-type: text/plain');
>
> $_POST = array('testvar' => 1234);
>
> class test {
>     function show() {
>         $POST = $_POST;     
>         $transmit_method='POST';
>         print_r($$transmit_method);
>     }
> }
> $test = new test();
> $test->show();
>
> ?> 
>
> Auch nicht wirklich elegant... k.A. was PHP da macht bzw. warum
>
>   

folgendes ist wohl sinnvoller ->

    function show() {
        $transmit_method='POST';
        print_r($GLOBALS['_'.$transmit_method]);
    }

Gruß
Niels


php::bar PHP Wiki   -   Listenarchive