Náhrada za getPresenter(true) v Nette 3
- raketoplan2005
- Člen | 147
Ahoj,
byl jsem zvyklý používat $this->getPresenter(true)
, což
je bohužel v Nette 3 deprecated s tím, že mám použít
hasPresenter()
.
To mi ale třeba pro PHPStan nestačí a proto musím všude, kde používám presenter psát:
if ($this->getPresenter() === null) {
throw new \Exception('Component is not attached to the presenter.');
}
Existuje nějaká snazší cesta, prosím?
Nakonec jsem to tedy vyřešil pomocí traitu, což se mi sice nelíbí, ale co nadělám.
Editoval raketoplan2005 (6. 8. 2019 10:31)
- David Grudl
- Nette Core | 8227
True je výchozí, takže místo getPresenter(true)
je možné
používat getPresenter()
a ten pak nikdy nemůže vrátit null.
Mám dojem, že v pravidle v PHPStanu https://github.com/…xtension.php
je v tomto chybka.
(btw v kódu je sice stále getPresenter(): ?Presenter
, ale to
je čistě kvůli zpětné kompatibilitě)