Hallo iedereen,

Ik vroeg met af of je in een HMVC omgeving een standaart hebt hoe je controllers aanroept.
Normaal gezien laadt je maar 1 controller alleen in hmvc kun je meerdere controllers laden, Maar wordt deze in de (bijvoorbeeld ) index controller geladen of in de view of model ?

Kwam er zelf niet helemaal uit zelfs met zoeken want daar lees ik meer over modules. ( dus bijv, twitter module, facebook, blog, rss ect. )
Gr wouter.
Ik snap niet of jullie nu hetzelfde bedoelen als wat ik bedoel, maar ik bedoel dit...

Frank zegt we hebben URL www.mijnsite.nl/contact en die roept de ContactController aan. Die ContactController roept vervolgens een view aan, en in die view worden weer andere (bijv. 5 stuks) controllers aangeroepen. Oké, prima... want dan gaan we niet wederom 5x die view opnieuw maken, maar we roepen gewoon die controller aan, en die zorgt voor de view. Correct?

Maar wat nu als 1 van die 5 controllers een MapController is die een plattegrond toont. Stel nu ik heb 2 verschillende websites, waarbij ik alleen bij de eerste een plattegrond wil tonen. Bovendien wil ik bij de 2e website een andere (dan die 5) controller erbij plaatsen. Hoe los je dat dan op?
>> Hoe los je dat dan op?

Website 1 en Website 2 hebben niet dezelfde backend. Misschien hebben ze wel overeenkomstige modules, maar daarvan wordt bijv. de view in de applicatie specifieke bestanden overschreven.

Overigens zijn we nu wel dit topic aan het kapen, niet?
>> Website 1 en Website 2 hebben niet dezelfde backend.

Dat weet je niet... ze kunnen toch op hetzelfde platform draaien en gebruik maken van dezelfde library?

>> ... maar daarvan wordt bijv. de view in de applicatie specifieke bestanden overschreven.

Dan ga je dus per (main)controller controleren of er een applicatie-specifieke view aanwezig is?

>> Overigens zijn we nu wel dit topic aan het kapen, niet?

Vind ik niet... ik probeer duidelijk te krijgen wat het doel is van de HMVC opzet. Klopt de opzet zoals deze door Frank wordt beschreven, of is misschien een iets andere aanpak wel wenselijk/handiger...?
>> Dat weet je niet... ze kunnen toch op hetzelfde platform draaien en gebruik maken van dezelfde library?

Beide websites hebben andere eisen, zoals je al beschreef. Dus kunnen ze niet beide op dezelfde applicatie runnen. Wat je in dit zorgt gevallen vaak hebt is een "standaard" die alle basis features bevat. Daar bovenop komt dan per website de maakwerk code. In dit geval zou een plattegrond onderdeel zijn van deze maatwerk code.

>> Dan ga je dus per (main)controller controleren of er een applicatie-specifieke view aanwezig is?

Nee, dit zit als het goed is al in je framework ingebouwd. In Symfony kan je bijv. een StandardAppBundle hebben die een template StandardAppBundle:Contact:index.html.twig heeft. In het geval van Website 1 moet deze worden uitgebreid met een plattegrond, dus overschrijven we die in de application directory door een bestand /app/Resources/views/StandardAppBndle/Contact/index.html.twig te maken. Deze voegt dan de plattegrond toe.
Bedankt voor de antwoorden !
Ik weet nu voldoende hoe ik het wil gebruiken.

Kom hier misschien nog eens later op terug,

Reageren