![]() |
SELFHTML Forumsarchiv |
|
|
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
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
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
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
© 1998-2008
Impressum, Software: Classic Forum