Umístění komponent v modulární aplikace, nenalezení komponenty továrničkou
- Climber007
- Člen | 105
Ahoj,
pracuji na aplikaci, kterou mám dle doporučení rozdělenou na moduly Front a
Admin. V nich jsou submoduly jednotlivých částí aplikace (statické
stránky, shop, uživatelské rozhraní):
- FrontModule
- – UserModule
- – ShopModule
- AdminModule
Nyní potřebuji (ideálně pro každý ze dvou hlavních modulů) složku s komponentami. Vše funguje relativně korektně, avšak musím v továrničce psát lomítko před název komponenty, což se mi za prvé nelíbí a za druhé vidím, jak na to budu zapomínat.
$control = new \MyControl($this, $name);
jinak vyskočí hláška, že danou třídu nelze nalézt. Zkoušel jsem použít
use
, ale pořádně nevím na co by mělo směřovat.
Proč RobotLoader tedy nenajde komponentu a továrnička se k ní korektně bez
lomítek a cest nedostane? Jsem sice v jiném namespace, to ale v jiných
případech to nevadí. Je tedy možné mít všechny komponenty v jedné
složce (třeba pro každý modul zvlášť, to je asi jedno) a volat jejich
továrničky odkudkoliv bez lomítek a cest?
Díky z rady
Editoval Climber007 (15. 10. 2012 16:46)
- Climber007
- Člen | 105
Než jsem přešel na tuhle strukturu, měl jsem tuto:
- MyModule
- – FrontModule
- – AdminModule
- components
V ní mi fungovaly továrničky i bez lomítek. To je divný…
- Climber007
- Člen | 105
Po prostudování namespaces musím trochu přeformulovat otázku. Jak docílit, aby byly komponenty defaultně načítání z „app/components“ a ne z „components“ v aktuálním modulu? Někde jsem viděl něco ve starém konfiguračním souboru, v neonu ale nic takového není.