Konfigurace presenterů v config.neon způsobí autowiring do továren komponent
- pepakriz
- Člen | 246
Když si takto nakonfiguruji presenter:
services:
myPresenter:
class: MyPresenter(@doctrine.dao(MyEntity))
a v DI mám registrované továrny na komponenty, DI se mi presenter snaží pomocí autowiringu předat do konstruktoru komponent.
Když zakážu u presenteru autowired: no
, presenterFactory
potom nevytváří presenter přes DI (metoda
$context->findByType
vrací jen služby s
autorired: yes
)
Co s tím? Myslím si, že správným řešením by bylo uvádět
u presenterů autowired: no
a metoda
$context->findByType
by měla vracet všechny služby.
PS: Vím, že můžu překrýt konstruktor komponent a vynechat $parent a
$name, ale chci se vyhnout nutnosti používat nějaký svůj BaseControl.
PS2: Vím, že u všech továren komponent můžu do konstruktoru uvést NULL a
tím předávání vypnout. Hledám nějaké čisté řešení.
- Filip Procházka
- Moderator | 4668
Vím, že u všech továren komponent můžu do konstruktoru uvést NULL a tím předávání vypnout. Hledám nějaké čisté řešení.
To je to čistě řešení. V každé komponentě resetovat konstruktor aby
nepřijímal $parent
a $name
, popřípadě dědit od
nějakého base který už ho bude mít resetovaný.
- David Matějka
- Moderator | 6445
@pepakriz: vyresi – neni mozne autowirovat tridy jako UI\Presenter, ComponentModel*.. ale konkretni presenter jo
- Tomáš Votruba
- Moderator | 1114
Filip Procházka napsal(a):
Vím, že u všech továren komponent můžu do konstruktoru uvést NULL a tím předávání vypnout. Hledám nějaké čisté řešení.
To je to čistě řešení. V každé komponentě resetovat konstruktor aby nepřijímal
$parent
a$name
, popřípadě dědit od nějakého base který už ho bude mít resetovaný.
(Fční řešení):
Jak toto řešení vypadá v praxi? Mám BaseControl
,
kde mám:
public function __construct()
{
parent::__construct(NULL, NULL);
}
Editoval Tomáš Votruba (5. 6. 2014 22:36)
- David Matějka
- Moderator | 6445
tohle fungovat musi, nefailuje jina komponenta, ktera nededi od tveho BaseControlu? nebo nemas v nejake konkretni prepsany konstruktor se signaturou UI\Controlu?
ukaz exception
Editoval matej21 (5. 6. 2014 22:08)
- Tomáš Votruba
- Moderator | 1114
Edit: @matej21: Máš pravdu, měl jsem tam typo a už to jede. Díky.
P.S.: Jak to vypadá s tím PR?
Editoval Tomáš Votruba (5. 6. 2014 22:35)