PHP: Lagra object i sessionsvariabler

Tråden skapades och har fått 2 svar. Det senaste inlägget skrevs .
1

Om man vill lagra object i sessionsvariabler i PHP går det bra såvida man använder register_session_var() men är det någon som vet hur man gör samma sak då man använder $_SESSION[] arrayen istället? Jag vet att man kan använda serialize och deserialize men går det att göra så att detta sker automatiskt så att man istället för att behöva skriva:

$object = deserialize($_SESSION['key']);

echo $object->var;

Jag vill ju kunna skriva:

echo $_SESSION['key']->var;

Någon som vet hur/om man kan göra så?

Citat:

Skrevs ursprungligen av Gabriel Falkenberg
Om man vill lagra object i sessionsvariabler i PHP går det bra såvida man använder register_session_var() men är det någon som vet hur man gör samma sak då man använder $_SESSION[] arrayen istället? Jag vet att man kan använda serialize och deserialize men går det att göra så att detta sker automatiskt så att man istället för att behöva skriva:

$object = deserialize($_SESSION['key']);

echo $object->var;

Jag vill ju kunna skriva:

echo $_SESSION['key']->var;

Någon som vet hur/om man kan göra så?

Problemet är att objekten såvitt jag vet lagras i kollapsad form i sessionen, och när php-skriptet exekveras nästa gång instantieras inte objekten som lagts i sessionsarrayen. Men jag kan minnas fel; det var ett tag sedan jag behövde lagra hela objekt i sessioner...

Det du borde kunna göra ifall du vill minska ner antalet rader är detta:

echo unserialize($_SESSION['key'])->var;

Lat som jag är orkar jag däremot inte testa det i praktiken just nu... men det _kanske_ fungerar

Nja, jag vet inte om det är jag som gör fel men jag kan inte direkt komma åt funktioner/medlemmar i objekt som returneras från funktioner/metoder. Alltså, jag kan inte få följande att fungera:

function getObject()
{
return new MyClass();
}

echo getObject()->myVar;

Några idéer?

1
Bevaka tråden