Vytvoření jednoduché komponenty nebo multiplieru?
- Morfeo21
- Člen | 35
Zdravím,
mám v projektu obecnou metodu na vytváření komponent:
public function createComponent($name)
{
...
}
Z $name
vytvořím název třídy a vrátím … Problém
nastává, když místo jednoduché komponenty chci multi komponentu volanou
pomocí např. {control singleProduct-$productId}
. Do metody
createComponent
dostanu pouze string singleProduct
,
ale už se mi nedaří zjistit jestli, jestli ta komponenta byla volána
s parametrem za pomlčkou a tedy bych měl vracet Multiplier
místo samotné komponenty. Je možné to v té metodě nějak zjistit nebo to
obejít nějak jinak?
A potřeboval bych to obecně, nemůžu psát konkrétní továrničky na konkrétní komponenty.
Díky moc za pomoc!
- Vojtěch Dobeš
- Gold Partner | 1316
Celý string tam nikdy neobdržíš – to je stavebním kamenem celé
architektury. Další createComponent()
(s další částí toho
stringu) se bude volat až na instanci, co vrátíš. Jde o to, že část za
pomlčkou není nějakým parametrem, ale názvem vnořené komponenty
(názvem potomka komponenty, která má název před pomlčkou).
singleProduct-$productId
a = presenter->createComponent(singleProduct)
b = a->createComponent($productId)
Editoval vojtech.dobes (5. 2. 2014 10:14)