Aktuální presenter v injectované service
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Rampus
- Člen | 39
Ahoj,
prosím o radu jak dostat aktuálně vykonávaný presenter do service.
Hledal jsem na foru, ale rady jsou 3 roky staré a od té doby se změnilo
Nette, takže to neběží.
Mám service a presenter:
<?php
class Presenter{
/** @var Foo @inject */
$bar;
...
...
}
class Foo{
public function __construct( Context $context, Application $app){
$pres=$app->getPresenter(); // vrátí null
}
}
?>
Problém je však slepice-vejce. Presenter faktory tvoří presenter a při
tom vytvoří Foo a předá mu applikaci, ale tam ještě není vytvořen
presenter…
Je nějaká jiná cesta, jak se v construktoru service dostat na aktuální
presenter?
Nebo jinak:
Potřebuju, aby se service zaregistrovala při injectnutí do onShutdown[], ale
nechci pstát metodu injectFoo().
Editoval Rampus (21. 5. 2015 16:46)