Dependenci injection nette 2+

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

Ahojte,

viem, ze je tu toho moc ale vsetko sa tyka len component a presenterov..

Problem:
potreboval by som trochu upravit chovanie metody „Nette\Application\UI\Presenter::formatLayoutTemplateFiles“ bez toho aby som ju natvrdo menil v core a tak sa pripravil o moznost aktualizacie.
Napadlo ma ako riesenie ‚dependenci injection‘, len nikde som nenasiel nejaku ukazku ako nato a ci je to v tomto pripade vobec mozne

Prosim vedeli by ste mi pomoct?

besanek
Člen | 128
+
0
-

Podědit a metodu přepsat. Např. v Basepresenteru.

Editoval besanek (8. 8. 2013 12:28)

Michal Vyšinský
Člen | 608
+
0
-

Přepiš si metodu v BasePresenteru

ViPEr*CZ*
Člen | 818
+
0
-

Udělejte si abstraktní BasePresenter, ze kterého budou dědit ostatní Presentery a v něm si tuhle metodu přepíšete.

duskohu
Člen | 778
+
0
-

nemam istotu ale nedalo by sa napisat sluzba a cez config prepisat nette.presenterFactory? Tak ako sa to robi u routru?

Editoval duskohu (8. 8. 2013 12:28)

HappyFace
Člen | 162
+
0
-

uff, asi si uz musim dat pauzu, ked ma ten BasePresenter nenapadol (rychle a elegantne) :)

duskohu: toto tiez znie zaujimavo a hlavne by to bolo separatne od vsetkeho, len ja nemam este nato skusenosti/vedomosti ci by to bolo mozne a ako.

ale zatial DAKUJEM.. momentalne pojdem cestou BasePresenter asi, a ak sa niekto ozve na ten „presenterFactori“ ze to pojde, tak to len prehodim ;)

David Matějka
Moderator | 6445
+
0
-

muzes se inpirovat v Nelle od Vrtaka, https://github.com/…ormatter.php
tohle potom registrujes jako sluzbu, v base presenteru injectnes a prepises formatLayoutTemplateFiles a formatTemplateFiles, aby volaly ten TemplateFilesFormatter

HappyFace
Člen | 162
+
0
-

Nakoniec som si nad celym nete vytvoril vlastnu vrstvu, v ktorej si upravujem triedy, ktore potrebujem :)
takze BasePresenter nededi od Nette\..\Presenter ale od prezenteru z mojej vrstvy, cize BasePresenter ostava stale cisty a vsetku nadstandartnu logiku a chovanie si riesim v tej vrstve

Dakujem za napady a pomoc ;)