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)