Jak nejlepe (spravne) na appDir, wwwDir apod. v CompilerExtension
- tomees
- Člen | 59
Ahoj,
narazil jsem na potrebu injectnout si do sluzeb promennou wwwDir. Sluzby apod mam v potomku CompilerExtension, ne v neon formatu.
Jedine funkcni reseni jsem nasel
$builder->addDefinition($this->prefix('imagePresenter'))
->setType(ImagePresenter::class)
->setArguments([$builder->expand('%wwwDir%')]);
ale zarazi me, ze expand je deprecated. Ve vlaknu starem cca 3 roky jsem nasel podobny dotaz, kde David psal krom toho pouzit na sluzby prave definici v neonu take to, ze expand sice deprecated je, ale bude v systemu jeste dlouho… no uz jsou to 3 roky, da se na to spolehat?
Existuje nejake jine reseni jak toto provest?
Editoval tomees (26. 9. 2017 20:52)
- David Grudl
- Nette Core | 8227
Problém není v tom expand, ale spoléhání se na proměnné definované mimo rozšíření. Správné řešení je si tyto závislosti předat jako třeba tady https://github.com/…xtension.php#L44.
- tomees
- Člen | 59
David Grudl napsal(a):
Problém není v tom expand, ale spoléhání se na proměnné definované mimo rozšíření. Správné řešení je si tyto závislosti předat jako třeba tady https://github.com/…xtension.php#L44.
Super! Me nenapadlo ze vlastne muzu pri registraci extension pouzit
konstruktor a predat si tam povinne parametry. Tak jsem zase chytrejsi.
Diky moc!