MVC
Al een ruime tijd probeer ik MVC onder de knie te krijgen en ondanks dat er vele tutorials over zijn, zijn sommige dingen me nog niet helemaal duidelijk.
De structuur die wordt uitgelegd verschilt namelijk per tutorial. De een geeft bijvoorbeeld dit aan:
De ander geeft dat aan:
Daarbij zegt de tutorial waar de afbeelding hierboven bijhoort (http://www.sitepoint.com/the-mvc-pattern-and-php-1/) dat de manier waarop de meesten MVC gebruiken niet de juiste manier zou zijn(?), althans, dat maak ik er uit op.
Op dit moment ben ik er dus niet zeker van welke structuur ik aan moet houden. Zou iemand me dit kunnen uitleggen of een link kunnen geven naar een tutorial die de juiste structuur uitlegt?
Ten slotte nog een vraagje over Models;
Wat zou in MVC precies het verschil zijn tussen bijvoorbeeld Model_Article en Article? Moet ik Model_Article zien als een artikel op zich of een object dat artikelen beheert (toevoegen, wijzigen, verwijderen, etc.)?
Alvast bedankt voor jullie hulp!
Gewijzigd op 25/04/2015 09:46:57 door Lord Gaga
Letterlijk vertaald krijg je de zin "ontwerp patroon". Het is feitelijk meer een omschrijving van hoe je je applicatie structureert.
We weten allemaal wel hoe we liepen te kloten met ons eerste PHP projectje om de bestanden met PHP code en de code zelf een klein beetje netjes te structureren. Door een bestaand DESIGN PATTERN te gebruiken hoef je dit wiel alvast niet meer opnieuw uit te vinden.
Echter wil het niet zeggen dat er maar één juist design pattern is. Vergelijk het een beetje met auto's. Je hebt lichte auto's en zware auto's. Je hebt auto's met vijfde deur en zonder. Je hebt bestelauto's enzovoorts. Al deze auto's hebben zo hun voordelen en nadelen.
Met design patterns precies hetzelfde. Je hebt lichtgewicht DP's maar ook zwaardere en ze kennen allemaal voor en nadelen.
Een bekende onder de DP's is dus het MVC model. Dit model is in de basis retesimpel :p Eigenlijk zegt het dit:
- Begin in de controller. In de controller bepaal je welk MODEL je gebruikt en welke VIEW.
- In het MODEL communiceer je met je database. Hier voer je dus de queries uit.
- In de View render je je pagina.
THAT's it. Althans in een heel eenvoudige applicatie.
Een puur MVC framework is CodeIgniter. Je zou daarin eens een applicatie moeten maken om helemaal het MVC te begrijpen. Ook zul je al snel tegen de beperkingen aanlopen. Daarna kun je eens naar Lavarel of Symfony gaan kijken en dan ontdek je hoe het ook kan.
Eigenlijk vind ik het designpattern dat er achter een framework zit niet zo heel belangrijk. Richt je liever op het gebruik van een framework.