Ansicht umschalten
Avatar von meril
  • meril

2 Beiträge seit 14.06.2012

PHP: Seltsames Verhalten bei $_SESSION

Hallo zusammen

Habe ein seltsames Phänomen in einem meiner Skripte entdeckt. Zur
Veranschaulichung hab ich eine Minimalversion erstellt:

---------------- snip ----------------

error_reporting(E_ALL);
@session_start();

class testClass {
    public function __construct(){
        return;
    }
}

class targetClass {
    public function __construct($name) {
        $this->name = $name;
        if(!isset($_SESSION[$this->name]))
            $_SESSION[$this->name] = 'blafasl';
    }
    public function getName() {
        return $_SESSION[$this->name];
    }
}

$test = new testClass;
$target = new targetClass('test'); 
print $target->getName();

--------------------- snap -------------------------

Bei den meisten Providern wird, wie erwartet, 'blafasel' auf dem
Bildschirm ausgegeben.

Nun hab ich das Skrit bei einem Provider in Betrieb genommen, bei
welchem komischerweise folgender Fehler erscheint:

Catchable fatal error: Object of class testClass could not be
converted to string in xxxxx on line 25

Bei der Instanzierung des Objekts $target wird also bei diesem
Provider das 'test' nicht etwa als String übergeben, sondern die
zuvor erstellte gleichnamige Variable $test mitgegeben

Weiss jemand, mit welcher Einstellung in der php.ini dies zu tun hat?


Bewerten
- +
Ansicht umschalten