<?php //ROUTER // Hier doen we een controle of een bepaalde URL bestaat en we verwijzen door naar een controller of een view //Uitlezen van de huidige URL $uri = parse_url($_SERVER['REQUEST_URI'])['path']; //Als de uri voldoet aan de volgende voorwaarde dan ... switch ($uri) { case "/": case "/home": //als de url /home bevat dan require "controllers/home.php"; break; case "/about": require "controllers/about.php"; break; case "/contact": require "controllers/contact.php"; break; default: //niet bekende uri dan ... http_response_code(404); require "view/404.view.php"; }
Als eerste zal de aangevraagde URL worden ontleed. Stel het verzoek is http://localhost/pagina?id=1
Hier zal van worden gemaakt '/pagina'. Dat is het verzoek dat we zullen gebruiken.
We gebruiken een switch om te kijken welke URI binnenkomt. Je mag hier natuurlijk ook if en else gebruiken.
Indien de URI overeenkomt met een bepaalde string zal de router je doorverwijzen naar de betreffende controller of view.
In je router is het ook eenvoudig om de rol van een gebruiker te controleren. Als een gebruiker niet de juiste rol heeft verwijs je de gebruiker naar een view "geen-toegang.view.php". Deze moet je wel nog even aanmaken. Bijvoorbeeld
case "/berichten": if(hasRole('admin')) { require "controllers/bericht.index.php"; } require "view/geen-toegang.view.php"; break;