Klasa sesji
<?php class Session_Container { public $sessionData; private $expire; private $creationTime; public function __construct() { } public function __get($name) { if($this->expire) { return $this->sessionData[$name]; } else { return $this->sessionData[$name]; } return false; } public function __set($name,$value) { $this->sessionData[$name] = $value; } public function Expire($seconds) { } public function RegisterNS($name) { $this->$name = new Session_Container(); return $this->$name; } } class Session { private $vars; private $Db; private $dbTable; { } public function __construct(Db $Db,Configuration $Configuration) { if($Configuration->application->session->storage == "db") { $this->dbTable = $Configuration->application->container; $this->Db = $Db; } if(!self$sid) selfStart(); $this->vars = &$_SESSION['vars']; if(get_class($_SESSION['vars'])!="Session_Container") { $this->vars = new Session_Container(); } } public function __get($name) { return $this->vars->$name; } public function __set($name,$value) { $this->vars->$name = $value; } public function RegisterNS($name) { $this->vars->$name = new Session_Container(); return $this->vars->$name; } } ?>
klasa modulu:
<?php abstract class Module { public $Configuration; public $Db; public $Session; public $Global; public $Template; public function __construct($moduleName) { $this->Configuration = new Configuration(Application$cnf->paths->configuration); $this->Template = new Template(); $this->Global = new Session($this->Db,$this->Configuration); $this->Session = $this->Global->RegisterNS($moduleName); $this->__preload(); } abstract public function __preload(); abstract public function __default(); abstract public function __denied($method); abstract public function Supervised(); abstract public function __error($e); } ?>
Objasnienie problemu:
Gdy w klasie modulu uzywam zmiennej Global to sesja sie zapisuje i dziala swietnie, gdy natomiast uzywam zmiennej Session to juz nie:/.
Moze ktos mi pomoc uruchomic ta machine?