Hallo allemaal,
Een tijdje geleden ben ik bij het werk wat ik doe bij iemand op een site een MVC pattern tegengekomen. Aangezien ik toen nog niet veel werkte met mvc's was ik erg onder de indruk van de werking ervan. Ik heb een tijdje gezocht naar wat tutorials over hoe je een dergelijk systeem op zou moeten zetten, ik vond deze tutorial die mijnsinziens erg handig was: http://www.onlamp.com/pub/a/php/2005/09/15/mvc_intro.html.
Nadat ik me redelijk ingelezen had in de werking van OOP, ben ik begonnen met het bedenken van een eigen framework. Inmiddels is dit al een tijdje af, en werkt het voor 90% precies zoals ik zou willen. Toch ik heb ik het idee dat ik het niet helemaal 'the right way' doe. Ik vraag me af, omdat ik nu aan een nieuw project ben begonnen of het niet simpeler en efficienter kan.
Bij werkt het nu ongeveer zo:
Bij een request wordt alles naar index.php geredirect, dat is mijn controller. Hierin bevint zich een __autoload functie. Mbv die functie wordt de gewenste file geinclude en een class geladen. Deze class extend weer een class, en die misschien ook. En op die manier wordt door telkens de parent class constructor te callen de database connection en authentication classes geladen. Daarna wordt binnen die gerequeste klasse het event gecalled uit de request (anders het default event (__default)).
Daarna geeft de controller het hele object van die class mee aan de class presenter die dan vervolgens een layout required waar op diverse plaatsen templates in worden geladen. dit wordt allemaal teruggegeven aan de client.
Het is misschien wat vaag, maar het verschilt in iedergeval een hoop met een normaal MVC patroon. Zo heb ik bijvoorbeeld geen getters en setters, geen singleton, en dus eigenlijk geen models. Kortom ik zit een beetje vast in de ontwikkeling ervan. Eigenlijk werkt het prima, maar het voelt niet echt goed aan omdat ik weet dat het niet the way to go is.
Ik kan me goed voorstellen dat het niet helemaal duidelijk is voor iedereen, dus mochten jullie meer willen weten, of willen jullie bijvoorbeeld de controller zien, dan zet ik het er graag op.
1.474 views