Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2004 Teil von Februar

SELFHTML Forumsarchiv
$_SESSION["index"] = &$this geht nicht?

Informationsseite
  1. Seite (PHP) $_SESSION["index"] = &$this geht nicht? von apeiros, 29. 02. 2004, 18:01
nach unten

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

Die folgende Nachricht zum Thema stammt von: apeiros, 29. 02. 2004, 18:01

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

nach obennach unten

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

Die folgende Nachricht zum Thema stammt von: Christian Seiler, 29. 02. 2004, 18:45

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

nach obennach unten

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

Die folgende Nachricht zum Thema stammt von: apeiros, 29. 02. 2004, 18:54

»» 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

nach obennach unten

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

Die folgende Nachricht zum Thema stammt von: apeiros, 29. 02. 2004, 19:07

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

Danke nochmals
gruss
apeiros

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2004 Teil von Februar

© 1998-2008 Seite Impressum, Software: Classic Forum