Jak předat config parametry do BasePresenteru? (Nette 2.3.0)
- Marek Šneberger
- Člen | 130
Vytvoř si nějakou službu (třídu), které předáš potřebné parametry a tu třídu si injektni do BasePresenteru a vesele používej.
- ChocoTUx
- Člen | 31
Ahoj,
ono to prostě nejde nějak takto? Jako je škoda, že tam musím rvát jenom instance nových tříd, když si chci předávat porůznu v abstraktních třídach nějaké nastavení systému…
services:
trida: %param%
public function injectTrida($param){
$this->param = $param;
}
Editoval ChocoTUx (13. 5. 2015 10:47)
- ChocoTUx
- Člen | 31
No v obojím máš jeden ze dvou problémů.
Buď parametr předáváš vrchní třídě – tj ta která má instanci. Ale
jak to chceš předat například abstraktní třídě.
Nebo nepředáváš parametr ale instanci jiné třídy. (to je sice řešení,
ale připadá mi zbytečně složité).
Popřípadě jsem v obou odkazech nenarazil na kod, který bych řešil oba problémy současně.
- Jan Suchánek
- Člen | 404
trida: %param% nemůže takhle fungovat porovnává se název třídy a array není třída můžes to ale předávat pomocí služby která přímo parametry dostane.
- David Grudl
- Nette Core | 8227
Tohle pravděpodobně dosud nefungovalo, fix je tu https://github.com/…2254d1635401, použijte nejnovější nette/bootstrap.