Onderdelen mvc framework

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ozzie PHP

Ozzie PHP

30/11/2012 00:27:07
Quote Anchor link
Hallo mensen,

Graag zou ik willen weten uit welke BASIS onderdelen een mvc framework behoort te bestaan. Hoe kom je van een url request tot de uiteindelijke view. Welke classes worden doorlopen?

Ik wil vooral GEEN code zien, enkel de benamingen van alle BASIS classes die moeten worden doorlopen, zodat ik aan de hand van die lijst een framework kan bouwen. Ik heb in het verleden wel sites gemaakt op basis van mvc, maar dan op m'n eigen manier. Nu zou ik graag eens een wat meer professionele structuur willen. Kan iemand een lijstje voor mij maken? Ik zoek zeg maar zoiets als:

index.php
bootstrap.php
...
...
view.phtml

En dan met de juiste classes en de juiste benamingen. Nogmaals, ik zoek dus geen code, enkel een lijstje met BASIS elementen die als basis kunnen dienen voor mijn framework.

Alvast zeer hartelijk dank!
 
PHP hulp

PHP hulp

28/11/2021 03:05:19
 
Wouter J

Wouter J

30/11/2012 08:02:49
Quote Anchor link
1. Je gaat naar een url, zeg /contact
2. Deze vang je op in de frontcontroller, index.php (of app.php hoe je hem maar wilt noemen)
3. Deze maakt een Request object aan en geeft die mee aan de Kernel klasse. Deze Kernel klasse is de kern van de applicatie.
4. Deze klasse communiceert met een Routing klasse, die weer bestaat uit allemaal aparte Routecollection en Route klassen, en krijgt daarmee de juiste controller die bij de URL hoort.
5. De Kernel roept deze controller aan.
6. De controller gaat heel veel leuke dingen doen en geeft een Response object terug.
7. Deze wordt weer ontvangen door de kernel en die zorgt ervoor dat je je tekst te zien krijgt.

Bij stap 5 kan je nog enorm veel andere klassen aanroepen, zoals een ORM of een FormBuilder, een validator, ect.
 
Ozzie PHP

Ozzie PHP

30/11/2012 08:24:08
Quote Anchor link
Dankjewel Wouter!

Kun je de functie/bedoeling van de frontcontroller en kernel nog iets nader toelichten wellicht? Heeft zo'n kernel wellicht ook andere benamingen?
 
Kees Schepers

kees Schepers

30/11/2012 08:34:30
Quote Anchor link
Zou ook eens een keer dit doornemen: http://symfony.com/doc/current/book/index.html ;)
 
Wouter J

Wouter J

30/11/2012 14:18:04
Quote Anchor link
Kees, haha. Ondertussen heb ik aan Ozzie bijna elk artikel al wel uitgelegd :)

Maar dit topic is vooral dit artikel handig: http://symfony.com/doc/current/book/http_fundamentals.html

Ozzie, in ZendFramework noemen ze het een Application. In CakePHP en Lithium een Dispatcher (beetje te algemene naam vind ik).

De FrontController is niks anders dan een bestand waar elke pagina request in terecht komt. Dat bestand maakt vervolgens een Kernel klasse aan die dus echt de basis is van de applicatie. Een Kernel klasse ontvangt een request, kijkt welke controller erbij hoort, zorgt voor foutafhandeling in geval er iets mis gaat, laad de benodigde klassen in, maakt een service container aan, roept uit eindelijk de controller aan, ontvangt daarvan weer een Response object die hij vervolgens afhandelt: Hij zorgt dat de HTML code zichtbaar wordt en de overige informatie (zoals headers) goed wordt afgehandeld.
 
Ozzie PHP

Ozzie PHP

30/11/2012 14:44:38
Quote Anchor link
Oké. Thanks, Kernel en Application zijn dus eigenlijk hetzelfde. Dat schept weer wat duidelijkheid :)
Thanks ook voor jullie beiden links... daar kan ik een hoop uithalen! :D
Wordt vervolgd...
 
Nicky Monsma

Nicky Monsma

01/12/2012 19:19:29
Quote Anchor link
Als je nog hulp nodig heb kan je mij misshien mailen => monsma_habfly@hotmail.nl

ik heb ervaring in het ontwikkelen van mvc frameworks
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.