MBO-SD : De site voor software developer in het MBO
Wat is een MVC model
MVC - Model View Controller
Symfony werkt volgens de basis van het MVC-model, Model-View-Controller. Daarbij wordt er een scheiding gemaakt tussen
Models, Views en Controllers. Hierbij wordt de code opgedeeld waarbij
bepaalde code in een bepaald bestand staat. Een Model-, View- of Controller-bestand. Bekijk onderstaand schema
eens goed.
Model
Een Model, in Symfony Entity genaamd, is de basis van de data in jouw applicatie. Een Model, of
Entity, is gelinkt aan een tabel in jouw database. De Model haalt de gegevens op uit de database en met een
aantal simmpele functies kan je de data tonen, aanpassen en weer opslaan.
Models of Entities in Symfony vind je in de map /src/Entity.
Een Model is een PHP Class
Models (Entities) in Symfony zijn PHP Classes. Dat betekend dat zij altijd met een hoofdletter
beginnen!
View
De View is het deel in het MVC-model waar de HTML/CSS en JavaScript (de frontend) gebouwd wordt.
Views in Symfony vind je in de map /templates.
Twig?
Om de data makkelijk te houden wordt er in Symfony gewerkt met de TWIG opmaak standaard. In een
Symfony view werk je nooit direct met PHP maar altijd met het coderen van de TWIG code. Je maakt vooral gebruik
van FOR-loops en IF-statements in TWIG.
Een View is GEEN PHP Class
In tegenstelling tot een Controller en een Model (Entity) is een View
geen PHP-Class maar een gewoon bestand. Zij beginnen dus altijd met kleine letters en eindigen met de extensie
.html.twig.
Controller
Controller het woord zegt het al, verwerkt alle data. Vanuit een URL wordt er een functie aangeroepen
in een bepaalde controller. Vanuit die controller wordt er vervolgens data gecontrolleerd
(mag de gebruiker hier wel zijn, is het formulier goed ingevuld etc.), worden er gegevens uit de database opgehaald of opgeslagen
en gebeuren er nog meer acties zoals het versturen van mails, doorsturen van de gebruiker naar
een andere pagina (redirects) en kan je ook flash-messages maken.
Controller in Symfony vind je in de map /src/Controller.
Een Controller is een PHP Class
Controllers in Symfony zijn PHP Classes. Dat betekend dat zij altijd met een hoofdletter beginnen!