Jen jedna promenna v sesion namespace?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
krucinal
Člen | 38
+
0
-

Muzu mit vic promennych v session namespace? Pokud ano, jak toho dosahnout? Jakmile se pokusim nastavit vic nez jednu, nenastavi se nic.

Funkcni priklad (z komponenty):

$this->getPresenter()->getSession('neco')->test1 = 'a';

Nefunkcni priklad (do namespace se neulozi vubec nic):

$this->getPresenter()->getSession('neco')->test1 = 'a';
$this->getPresenter()->getSession('neco')->test2 = 'b';

Delam neco spatne ja? Prosim o pomoc.

studna
Člen | 181
+
0
-

Napadá mě jen, že vytváříš dvě instance SessionSection. (což by asi vadit nemělo, ale lepší je vytvářet jednu)

$section = $this->getPresenter()->getSession('neco');
$section->var1 = 'a';
$section->var2 = 'b';

Abys nemusel sahat do kontextu presenteru, tak můžeš komponentě session předat konstruktorem/setterem.

function __construct(Session $session)
{
	parent::startup();
	$this->section = $session->getSection('neco');
}
krucinal
Člen | 38
+
0
-

Takhle jsem to taky zkusil, chova se to porad stejne :(

krucinal
Člen | 38
+
0
-

Uz jsem na to prisel. Pisu to spravne. Problem byl v hodnote promenne.
Hodnotou byl v mem pripade objekt a ten evidentne nejde ulozit do session. Pri pokusu vlozit objekt to ignoruje cely namespace a neulozi se nic (ani jine promenne s pouzitelnou hodnotou).
Zrejme featura. Skoda jen ze to neda nejakou chybovou hlasku.

enumag
Člen | 2118
+
0
-

Jo, taky mi ze stejného důvodu nedávno nefungovala session, trvalo mi docela dlouho než jsem odhalil problém. Chybovou hlášku bych rozhodně uvítal.