$_SESSION["index"] = &$this geht nicht?
apeiros
- php
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
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
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
Wunderbar. Mit einem neuen Aufruf
$loader =& new autoloader();
gehts wunderbar.
Danke nochmals
gruss
apeiros