Jak v modelu zjistit ID prihlaseneho uzivatele?

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

Ahoj vsem,

jakym zpusobem v modelu mohu zjistit ID prihlaseneho uzivatele, resp. zjistim si ho nejak i bez posilani informaci z presenteru?

Diky za info.

ras
Člen | 135
+
0
-

Uz vim jak …

$this->context->user->getIdentity()->getData()
JuniorJR
Člen | 181
+
0
-

Injektuj si uživatele do modelu a je to.

Felix
Nette Core | 1196
+
0
-

Sem nevedel, ze v modelu je pristupnej context.. Nepouzivas nahodou modelLoader?

Nox
Člen | 378
+
0
-

Felix napsal(a):

Sem nevedel, ze v modelu je pristupnej context.. Nepouzivas nahodou modelLoader?

Jaký si co uděláš, takový to máš… ale nápad to moc dobrej není. Jak psal JuniorJR – poslat to tam od používajícího kódu/Factory

ras
Člen | 135
+
0
-

Nepouzivam modelLoader a priznam se, ze napoveda od vas je pro moji uroven znalosti nedostatecna ;o( → tj. prosim o „examplovatejsi“ popostrceni … diky.

TO co jsem uvedl jako UZ VIM JAK … to neni injektovani ?

Nox
Člen | 378
+
0
-

No záleží jak's to myslel.
Přímo v modelu by to byl ‚Service Locator‘ = najde si to sám, ‚Injection‘ = někdo mu to dá (přes konstruktor, setter, argument funkce…)

Pokud by to byl třeba nějaký argument metody modelu a bylo to takhle v Presenteru, tak by to bylo asi ok

Editoval Nox (29. 11. 2011 16:34)

ras
Člen | 135
+
0
-

OK, diky za info .. a jeste mi pls rekni, v cem je to reseni pres Service Lokator horsi, resp. proc to delat pres Injection?

Nox
Člen | 378
+
0
-

No při I můžeš předat různé věci, kdežto při SL je to zadrátované, nevidíš na to, změníš to jen přímo v tom kódu atd.
Víc viz třeba Zdroják – DI nebo na miskohevery