apeiros: $_SESSION["index"] = &$this geht nicht?

Hallo

Ich hab hier eine Klasse, die sich selbst aus einer Session laden soll falls vorhanden. Beispielcode:

class selfloader
{
 function selfloader($autoload="stored")
 {
  if ($autoload) {
   if (isset($_SESSION[$autoload])) { // fetch copy from session
    $this = &$_SESSION[$autoload];
   }
   $_SESSION[$autoload] = &$this; // store reference in session
  }
 }
}

$loader = new selfloader();

Allerdings scheint das nicht zu funktionieren. In der Session ist zwar eine Kopie des autoloaders, nicht aber eine Referenz.
Wenn ich es ausserhalb der Klasse mache, also so:
$_SESSION["stored"] = &$loader;
Dann gehts.
Warum geht obiges nicht?
Mach ich einen Denkfehler?

Grüsse
apeiros

  1. Hallo apeiros,

    class selfloader
    {
    function selfloader($autoload="stored")
    {

    [...]

    $_SESSION[$autoload] = &$this; // store reference in session

    Lies: http://de3.php.net/oop.newref

    Viele Grüße,
    Christian

    1. Hallo apeiros,

      Lies: http://de3.php.net/oop.newref

      Viele Grüße,
      Christian

      Hm, ich hatte es  zwar testweise mal aus dem Konstruktor herausgenommen und in eine Methode verpackt und nach(!) dem Konstruktor aufgerufen - ging ebenfalls nicht.
      Ich werde es aber trotzdem lesen. Vielleicht findet sich die Lösung ja dennoch darin.

      Danke jedenfalls mal
      gruss
      apeiros

      1. Wunderbar. Mit einem neuen Aufruf
        $loader =& new autoloader();
        gehts wunderbar.

        Danke nochmals
        gruss
        apeiros