Hallo,
erstmal Danke für die Antwort.
Zitat:
Zitat von agrajag Von was für einer Ausgabe redest du? Wird garnichts mehr ausgegeben (Fatal Error) oder erwartest du eine bestimmte Ausgabe die nicht kommt? Wenn ja welche und wie sieht der entsprechende Code aus? |
Ich habe mal den Sourcecode der relevanten Teile dabei gepackt.
Code:
<?php
<?php
// index.php
@include ("SecurityManager.class.php");
@include ("Dispatcher.class.php");
@session_start();
if(isset($_SESSION['securityManager']))
{
print_r($_SESSION['securityManager']);
}
$request = array();
$request = @array_merge($_POST, $_GET);
$dispatcher = null;
$dispatcher = new Dispatcher();
$dispatcher->init();
$dispatcher->setRequest($request);
$dispatcher->handleRequest();
echo $dispatcher->getResponse();
?>
<?php
// Dispatcher.class.php
@include ("SecurityManager.class.php");
@session_start();
class Dispatcher
{
private $request = null;
private $response = null;
public function init()
{
if(!isset($_SESSION['securityManager']))
{
$_SESSION['securityManager'] = new SecurityManager();
}
}
public function handleRequest()
{
$this->response = $_SESSION['securityManager']->getUsername();
}
public function setRequest($request)
{
$this->request = $request;
}
public function getResponse()
{
return $this->response;
}
}
?>
<?php
// SecurityManager.class.php
class SecurityManager
{
private $username = null;
public function login($username, $password)
{
$isLoggedIn = false;
$this->username = $username;
return $isLoggedIn;
}
public function getUsername()
{
return $this->username;
}
}
?>
?>
Nach dem ersten Aufruf ist alles i.O. er gibt mir den übergebenen Username aus. Wenn ich dann allerdings die Seite neu lade existiert die Ausgabe des Benutzernames nicht mehr und auch die Sessionausgabe des SecurityManagers ändert sich nicht.
Zitat:
Zitat von agrajag Hast du irgendwelche nicht serialisierbaren Dinge in der Klasse (DB-Verbindungen, Handler, ...) um die du dich nicht kümmerst? |
Nein, so wie es oben gezeigt ist wird es aktzuell verwendet.
Gruß Sven