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!