Neúspěšný pokus o získání Request z DI kontejneru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Patrikkk
- Člen | 9
Zdravím všechny,
mám problém, kdy se snažím získat Nette\Http\Response z DI kontejneru. Snažím se o to způsobem:
$httpResponse = $this->getService('Nette\Http\Request');
při tomto pokusu mi ovšem vyskočí Laděnka s hláškou:
User Deprecated
Nette\Application\UI\Presenter::getService() is deprecated; use dependency
injection instead..
Nevíte někdo, kde by mohla být chyba?
- Leaf
- Člen | 2
Problém je v tom, že získávání služeb pomocí getService() je deprecated(zastaralé), to je napsané i v té chybě. Nejlepší bude když si službu z DIC získáš např. pomocí konstruktoru, viz. dokumentace
- Tanadche
- Člen | 11
httpRequest a httpResponse jsou sice private, ale mají protected gettery, takže je získáš takhle
$httpRequest = $this->getHttpRequest();
$httpResponse = $this->getHttpResponse();