Problém s vlastní PresenterFactory

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jtousek
Člen | 951
+
0
-

Chci si napsat vlastní podědit PresenterFactory, do config.neon jsem dal tento kód:

services:
        nette.presenterFactory:
                class: MojeAplikace\PresenterFactory

Z nějakého důvodu Nette hází chybu:

Nette\DI\ServiceCreationException
Service ‚nette.presenterFactory‘: Parameter $baseDir in Nette\Application\PresenterFactory::__construct() has no type hint, so its value must be specified.

Tuší někdo, čím je to způsobené a jak to opravit?

Nette: nejnovější dev z GitHubu
PHP: 5.3.13
OS: Windows 7 64-bit

Editoval jtousek (3. 6. 2012 16:04)

Jan Tvrdík
Nette guru | 2595
+
0
-

jtousek wrote:
Tuší někdo, čím je to způsobené a jak to opravit?

Četl jsi tu chybovou hlášku? Já jen, že tam je dost jasně popsané, co to způsobuje a plyne z toho poměrně jednoduchá oprava.

mkoubik
Člen | 728
+
0
-

Musíš ten parametr předat.

services:
	nette.presenterFactory: MojeAplikace\PresenterFactory(%appDir%, ...)
jtousek
Člen | 951
+
0
-

Já hlava dubová. :-) Mi nedošlo jakou baseDir to po mě chce. Díky.

Jan Tvrdík
Nette guru | 2595
+
0
-

jtousek wrote: Chci si napsat vlastní podědit PresenterFactory

Nevystačíš si s https://github.com/…rFactory.php#L29?

jtousek
Člen | 951
+
0
-

Ne, presentery mají závislosti na objektech, které z určitých důvodů nemají vždy stejnou třídu a nelze tedy použít inject.