Volání parent konstruktoru v Presenterech
- Šaman
- Člen | 2662
Ahoj, upravuji DI v presenterech na předávání konstruktorem, když už
máme v PHP82 tak pěknou syntax. Ale narazil jsem na to, že v dokumentaci
a ukázkové
aplikaci se nevolá konstruktor předka, ačkoliv třída
Nette\Application\UI\Presenter
konstruktor má.
Myslel jsem, že je to chyba, PhpStorm si myslí, že je to chyba, ale je to konzistentní napříč celou dokumentací i onou aplikací, která je také součást dokumentace. Můžete mi to někdo vysvětlit, prosím?
Za ideál bych považoval, kdyby žádný abstraktní Presenter konstruktor
neměl a nemusel jsem řešit zda ho volat či nevolat. Tak jak je to v těch
příkladech. Ale takhle nevím, jestli se v tom konstruktoru předka neobjeví
něco důležitého, aniž bych na to že ho nevolám byl upozorněný.
Takže naopak bych za téhle situace spíše psal parent konstrukt všude, kde
konstruktor použiju. Proto mě matou ty ukázky.
ping @DavidGrudl
- David Grudl
- Nette Core | 8227
V komponentách ani v presenteru není potřeba volat konstruktor předka, tak je to zamýšlené. Konstruktor je v presenteru asi spíš proto, aby se nerozbil kód, který konstruktor předka volá. Ale v další major verzi se může odstranit.