[2.0.12] Separatne session pre moduly

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

Ahojte,

riesim teraz taky mensi problem. Mam niekolko modulov a potreboval by som docielit aby kazdy mal vlastne session ide to nejako (jednoducho) zariadit?

vopred dakujem za reakcie

Twista
Člen | 48
+
0
-

HappyFace napsal(a):

Ahojte,

riesim teraz taky mensi problem. Mam niekolko modulov a potreboval by som docielit aby kazdy mal vlastne session ide to nejako (jednoducho) zariadit?

vopred dakujem za reakcie

Nestačilo by v každém modulu použít jinou sekci ?

HappyFace
Člen | 162
+
0
-

Twista napsal(a):

HappyFace napsal(a):

Ahojte,

riesim teraz taky mensi problem. Mam niekolko modulov a potreboval by som docielit aby kazdy mal vlastne session ide to nejako (jednoducho) zariadit?

vopred dakujem za reakcie

Nestačilo by v každém modulu použít jinou sekci ?

  1. Stacilo, ak mi vies poradit ako tu sekciu automaticky nastavovat pre dany modul.
  2. Nestacilo, kedze ja pouzivam moduly ako samostatne stranky, ktore by nemali o sebe vediet.

Momentalne je to v poriadku lebo kazdy modul ma vlastnu domenu, takze sa „nevidia“ ale je dost mozne, ze niektore budu spolu koezistovat a tam to bude zretelne.
Samozrejme ide len o nejake osetrenie a zvedavost ci je to mozne efektivne zariadit a od seba separovat

Twista
Člen | 48
+
0
-

Například pokud bys měl nějaký společný presenter pro všechny moduly, pak můžes použít něco jako

<?php

class BasePresenter extends Presenter {

	/** @var Nette\Http\SessionSection $session_section */
	protected $session_section;

	public function injectSessionService(Nette\Http\Session $session){
		$this->session_section = $session->getSection(get_class($this));
	}
}

...

class MyModulePresenter extends \BasePresenter {

	public function renderSomething(){
		$this->session_section->...
	}
}
?>

psáno z hlavy, ale snad by to mělo fungovat

Editoval Twista (5. 11. 2013 16:03)