Jak na vlastní PresenterFactory [v2.3]

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

Ahoj,

co mám, prosím, dát do config.neon, když si chci v 2.3 udělat vlastní PresenterFactory?

(App\PresenterFactory dědí od Nette\Application\PresenterFactory a konstruktor neměním)

services:
	nette.presenterFactory:
		class: App\PresenterFactory(???)
Martk
Člen | 661
+
-2
-

Podle tohoto https://api.nette.org/…ion.php.html#… by jsi měl nastavovat factory, nikoliv class.

Grez
Člen | 7
+
0
-

Oki upravil jsem to na factory, ale pořád to chce vyplnit ten parametr :|
(bez něj se nezavolá injectPrimary…)

services:
	nette.presenterFactory:
		create: App\PresenterFactory
Jan Tvrdík
Nette guru | 2595
+
+2
-

Nebude náhodou fungovat tohle?:

services:
    nette.presenterFactory:
        class: App\PresenterFactory # bez kulatých závorek

Případně můžeš zkusit i dost ošklivé:

services:
    nette.presenterFactory:
        class: App\PresenterFactory
        arguments:
            # ty argumenty by ve skutečnosti měli být trochu jinak.
            - Nette\Bridges\ApplicationDI\PresenterFactoryCallback(..., 0, NULL)
Grez
Člen | 7
+
0
-

První způsob nefunguje, ten ošklivější zabral, díky :)
(ještě teda zkusím pokoumat co přesně dělají ty dva argumenty, ať tam můžu dát něco užitečného, ale to už snad nějak zvládnu :D)

Editoval Grez (20. 4. 2015 23:48)

Jan Suchánek
Člen | 404
+
0
-

A jako extension se to nevyplatí?

harmim
Člen | 26
+
0
-

@Grez Už si to nějak vyřešil? Taky mám problém s tím, že když mám jenom

services:
    nette.presenterFactory:
        class: App\PresenterFactory

Tak se mi nedoplní ten parametr PresenterFactoryCallback, musím ho tam dávat ručně

Editoval harmim (27. 1. 2016 20:56)