Ziskavani parametru v Nette 2.2

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

Zdravim,

po delsi dobe jsem se vratil k Nette a koukam ze se hodne zmenilo. Procetl jsem forum atd a chci se jen ujistit zda sem to spravne pochopil.

Resim prave predavani parametru z configu do modelu/presenteru atd. Jaka je nejlepsi a hlavne nejspravnejsi cesta.

(Podle me si na vsechno napsat service v configu a predavat to pres config tam kde to bude potreba.)

Diky a sorry za blbej dotaz :)

MartinitCZ
Člen | 580
+
+1
-

Do modelu přes výhradně constuctor a do presenteru by to také šlo přes constructor. Nicméně v presenteru je lepší se constructoru vyhnout, takže tam bych použil možnost co si navrhnul ty.

Fires
Člen | 97
+
0
-

Do toho presenteru myslis tedy pres metodu inject* ?

MartinitCZ
Člen | 580
+
0
-

Bud to a nebo v lepším případě anotace inject

Pavel Macháň
Člen | 282
+
0
-

@MartinitCZ @inject anotace není nejlepší, protože porušuje zapouzdření (musí být public), ale je zase nejkratší a nejrychleji zapsané.

Editoval Pavel Macháň (26. 9. 2014 15:55)

MartinitCZ
Člen | 580
+
0
-

@PavelMacháň Ale to přejdu spíš, než spam inject*( v kodu. Jako náhrada se dá zvolit kdyby/autowire, který požaduje php 5.4+

David Matějka
Moderator | 6445
+
0
-

kdyby/autowire je z hlediska cistoty jeste horsi, nez @inject anotace

Editoval matej21 (26. 9. 2014 16:31)

Pavel Macháň
Člen | 282
+
0
-

@MartinitCZ Tedle spam můžes schovat do Traity … ja teda používám konstruktor kromě BasePresenterů

Editoval Pavel Macháň (26. 9. 2014 17:57)

MartinitCZ
Člen | 580
+
0
-

@PavelMacháň Což je ještě horší než public ;)

radas
Člen | 225
+
0
-

Taky jsem to před časem řešil. Myslím, že by ti mohlo pomoct to, co teď používám.