menu

Backend

Ronald Kerssies | Jan, 2023

MVC-basics PHP

Voorkennis
  • programmeer-basics, functions, git
  • classes, methods, overerven, databases, select en crud-queries
Doel
  • introductie op de basis principes van een MVC-framework

Taken:

Voer de code uit volgens “best practice” en eerder geleerde technieken. Deze opdrachten mogen met een basic MVC-framework worden uitgevoerd, dit is te vinden op: GitHub-MVC2022. Dit MVC-project vereist clean-urls Video's met uitleg over basic MVC-werking en staan in de 'bestanden' van het PHP Teams-kanaal (vraag evt om toegang)

Pull het Git-project binnen naar jouw localhost. Zet een database op voor het project en gebruik daarvoor de bijgevoegde sql-file. In de projectmap kan je het bestand app/config/config.ini zijn de database-instellingen voor het project aanpassen naar jouw specifieke situatie. Met de url http://localhost/mvc2022/public wordt de MVC-applicatie getoond. Het standaard account is: admin@app.com met het wachtwoord: password


1. Maak een programma met een werking; * als bezoeker krijg ik een 404-page als ik niet bestaande url's aanroep, zodat ik geïnformeerd ben * als bezoeker krijg ik een 403-page als ik een url's aanroep met onvoldoende rechten, zodat ik geïnformeerd ben * als bezoeker kan ik inloggen, zodat ik beveiligde content kan bekijken * als bezoeker zie ik alleen menu-items die ik kan benaderen, zodat er geen verwarring ontstaat * als bezoeker zie ik alle content-items in het menu onder een dropbox, zodat een overzichtelijke navigatie-bar heb * als bezoeker zie ik een neutraal prettige layout, zodat ik de website blijf bezoeken * als bezoeker kan ik een content-item kiezen, zodat dat ene artikel kan bekijken * als gebruiker kan ik nieuwe content toevoegen, zodat ik de artikelen kan uitbreiden * als gebruiker kan ik nieuwe content verwijderen, zodat ik de verouderde artikelen kan verwijderen * als gebruiker kan ik content wijzigen, zodat ik de artikelen kan aanpassen * als gebruiker wil ik gallery-afbeeldingen kunnen bekijken, zodat ik kan zien welke foto’s er zijn gedeeld door andere gebruikers. * als gebruiker wil ik afbeeldingen kunnen uploaden naar de gallery, zodat kan ik eigen foto’s kan toevoegen aan de gallery.

Het programma heeft de volgende technische eigenschappen:


2. Maak een programma met een werking; * als bezoeker wil ik mij kunnen registreren, zodat ik zelf ook toegang krijg tot beveiligde content * kanttekening 1: leeftijdscheck >= 18 jaar * kanttekening 2: er wordt gebruik gemaakt van emailverificatie * meta-tags en seo worden optimaliseert met behulp van services * de naam in de browser-tab wordt bijgewerkt m.b.v. services * het email-account wordt bewaard in de config-file en goed beveiligd

Het programma heeft de volgende technische eigenschappen toegepast:

Op te leveren
  • aantonen dat het basisproces van MVC-frameworks wordt begrepen
  • aantonen dat het gebruik routes wordt begrepen
  • aantonen dat gecentraliseerde layouts en gebruik van css-files kan worden toegepast en goed georganiseerd
  • aantonen dat het gebruik middleware wordt begrepen
  • aantonen dat services wordt begerepen
  • aantonen dat het gebruik van abstracte database-verzoeken kan worden toegepast (eloquent alike)
  • aantonen dat eigen gemaakte classes op een structurele wijze worden opgeslagen en beschikbaar gesteld via namespaces worden