Autowiring parametrů pomocí … – kolik je těch teček potřeba?
- jasir
- Člen | 746
Mám
class A {
__construct(B $b, C c$, $options) {...}
}
Myslel jsem, že definici v neonu stačí takto (k vypuštění obou parametrů jen jedna trojtečka)
parameters:
options: [1,2,3]
services:
sluzba:
class: A(..., %options%)
ale funguje jen toto – dvakrát trojtečka, za každý parametr jedna:
parameters:
options: [1,2,3]
services:
sluzba:
class: A(..., ..., %options%)
Krk bych za to dal, že mi to dřív fungovalo. Nevíte, změnilo se něco?
- jasir
- Člen | 746
Čili to byl jen můj pocit že to dřív fungovalo. Štve mě to, protože pokud přidám další parametr do konstruktoru, který by mohl být autowired, musím to změnit i v configu (a v mém konkrétním případě na x místech).
A bájdvej, i ta první je srozumitelná a logická. „Doplň všechno, kromě posledního“, jinak se to prostě interpretovat nedá.
Editoval jasir (30. 10. 2012 16:26)
- Filip Procházka
- Moderator | 4668
Já to řeším tak, že ty které musím specifikovat ručně (nejednoznačné), tak dávám na začátek a ty co jdou doplnit automaticky, tak na konec :)
- Vojtěch Dobeš
- Gold Partner | 1316
Není, autowirované na konci seznamu parametrů není třeba tečkovat.