Jak volat funkce z presenteru, kterej extenduje AppPresenter

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

Mam aplikaci, globalni funkce chci mit v AppPresenteru (extends basePresenter)
a pak mam dalsi presenter pro segmenty aplikace (recepce, admin, office,…) takze napriklad z RecepcePresenteru chci volat public funkci „pullRequests()“, jak to do toho RecepcePresenteru napisu prosim?

CZechBoY
Člen | 3608
+
+3
-

Nedělej z presenterů všemohocí třídu (god object), radši vše rozděl do malých služeb (SRP) a ty si vždy vyžádej v konkrétním presenteru/další službě.

warriotox
Člen | 30
+
0
-

CZechBoY napsal(a):

Nedělej z presenterů všemohocí třídu (god object), radši vše rozděl do malých služeb (SRP) a ty si vždy vyžádej v konkrétním presenteru/další službě.

rad bych rekl, ze chapu co to znamena v praxi, ale bohuzel tomu tak neni. Volani funkce podrazenyho presenteru z nadrazenyho je bad practice?

Tomáš Jacík
Člen | 147
+
0
-

@warriotox Ne obecně. Bad practice je porušování SRP. Presenter, jak už název napovídá, by měl řešit jen prezentaci navenek. Pokud máš nějaké funkce, které využíváš na více místech, rozhodně by neměly být v AppPresenteru Měl by si je vyčlenit do samotné třídy/služby, kterou budeš injectovat na místo, kde to potřebuješ.

Např. pro formuláře to může vypadat takto: https://doc.nette.org/…s/form-reuse

CZechBoY
Člen | 3608
+
0
-

Přečti si vlákno o závislostech modelů, řeší se tam věci, které by tě mohly zajímat :-)