In essentie een simpele vraag, maar ik kom er met mijn rubberen eend niet uit... Misschien toch meer voor discussie vatbaar.
In een PHP applicatie is MVC vaak wel een doel, maar aan interpretatie onderhevig. De rol van een model is volgens mij redelijk uitgekristalliseerd, al heb je daar soms nog een grijs gebied met libraries. Soit. Mijn vraag gaat echter meer richting de scheidslijn tussen controllers, views en templates.
Views en templates worden nog wel eens door elkaar gehaald. Wat ik vaak zie is dat in de controller alle gegevens worden verzameld en dan naar een template parser (bijv Twig, maar soms ook gewoon een parser van het framework in kwestie) worden gestuurd voor weergave. Eigenlijk zou daar nog een view tussen moeten zitten, maar ik moet zelf zeggen dat ik daar ook niet altijd even strikt in ben.
Maar goed. Stel nu: in een framework waarin templates en views elkaars gelijke zijn, waar definieer je dan JS snippets en/of dynamisch opgebouwde JS? Om een voorbeeld te geven:
Wat zijn jullie best practices?
In een PHP applicatie is MVC vaak wel een doel, maar aan interpretatie onderhevig. De rol van een model is volgens mij redelijk uitgekristalliseerd, al heb je daar soms nog een grijs gebied met libraries. Soit. Mijn vraag gaat echter meer richting de scheidslijn tussen controllers, views en templates.
Views en templates worden nog wel eens door elkaar gehaald. Wat ik vaak zie is dat in de controller alle gegevens worden verzameld en dan naar een template parser (bijv Twig, maar soms ook gewoon een parser van het framework in kwestie) worden gestuurd voor weergave. Eigenlijk zou daar nog een view tussen moeten zitten, maar ik moet zelf zeggen dat ik daar ook niet altijd even strikt in ben.
Maar goed. Stel nu: in een framework waarin templates en views elkaars gelijke zijn, waar definieer je dan JS snippets en/of dynamisch opgebouwde JS? Om een voorbeeld te geven:
- Ik haal in mijn controller een gegevensset op uit mijn model
- Voor elke rij in die set moet er een event met actie gedefinieerd worden in JS
- Die actie is een AJAX call naar een andere controller/functie
Wat zijn jullie best practices?