Ansich ist das Vorgehen ein Objekt in $_SESSION zu speichern eine tolle Idee.
session_start(); require_once( 'ClassFile.php' ); $o = new ClassFile (); $_SESSION['model'] = $o;
Man kann damit ein serialisiertes PHP – Objekt einfach per Sessionvariable über Requests hinweg mitführen und bei Bedarf das Objekt wieder auslesen:
if (isset ($_SESSION['model']) && is_a($_SESSION['model'], 'ClassFile')) $o_new = $_SESSION['model'];
Allerdings wird dies fehlschlagen, da die Prüfung is_a false ergibt. Der Grund: get_class ($_SESSION[‘model’]) liefert __PHP_Incomplete_Class.
Begeben lässt sich das indem man das Einbinden der Datei, die die Klasse enthält vor dem Starten der Session setzt. Es müsste also so aussehen:
require_once( 'ClassFile.php' ); session_start(); $o = new ClassFile (); $_SESSION['model'] = $o;
Nun liefert get_class ($_SESSION[‘model’]) die richtige Klasse und das Objekt ist sauber in der Session serialisiert.
Als erster einen Kommentar schreiben.
Schreibe einen Kommentar