použití $_SESSIONS v Nette

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

Tušíte někdo, jak v apl. v Nette zapsat hodnotu do $_SESSIONS?
Používám externí knihovnu, která si z něj bere jednu hodnotu a zatím nevím, jak na to.

mkoubik
Člen | 728
+
0
-

Nette\Http\Session všechno ukládá do namespace $_SESSION['__NF'], takže jedině ručně přiřadit do $_SESSION (resp. si na to vytvoř nějakou službu a tu pak používej v presenterech).

class MySessionService extends \Nette\Object
{
	private $netteSession;

	public function __construct(\Nette\Http\Session $session)
	{
		$this->netteSession = $session;
	}

	public function setFoo($foo)
	{
		$this->netteSession->start(); // make sure session is started;
		$_SESSION['foo'] = $foo;
	}
}
CuchulainMacLugh
Člen | 18
+
0
-

mkoubik napsal(a):

Nette\Http\Session všechno ukládá do namespace $_SESSION['__NF'], takže jedině ručně přiřadit do $_SESSION (resp. si na to vytvoř nějakou službu a tu pak používej v presenterech).

class MySessionService extends \Nette\Object
{
	private $netteSession;

	public function __construct(\Nette\Http\Session $session)
	{
		$this->netteSession = $session;
	}

	public function setFoo($foo)
	{
		$this->netteSession->start(); // make sure session is started;
		$_SESSION['foo'] = $foo;
	}
}

Díky. Ještě jsem měl problém, že to ta knihovna neuměla přečíst, i když jsem v ní nastavil správně cestu k session. Akorát že jsem si nevšiml na začátku scriptu záludně schovaného session_start(). Bylo to ještě před úvodními komentáři :-)