Site web MVC : Comment gérer le contrôleur frontal ?
Bonjour,
Je suis en train de dév mon framework (à moi pour moi rien que pour moi :D).
Au niveau de la couche contrôleur, je récupère les requêtes http et souhaite les traiter de cette manière :
Prenons cet exemple (site pour un clan) :
Mon site se divise en 4 métiers différents qui serait :
- news
- squad
- events
- matches
Donc mon idée est de formater les urls de cette manière :
/news/ : pour voir toutes les news
/news/titre-de-ma-news/1/ : pour consulter la news n°1
/squad/
/squad/broodwar/1/
/squad/broodwar/1/nom-du-joueur/2/ : joueur 2 de la squad 1 broodwar
Jusqu'à la, parfait mais je souhaite également :
/news/add
/news/delete
/news/update
/news/delete/1/
donc au niveau de mon contrôleur et grâce à une redirection sur un htaccess, je récupère facilement dans un $_GET, l'url demandée (ex : /squad/broodwar/)
Après un traitement de cette chaine je détermine quel sous controleur je dois appelé.
Mon problème se situe sur les urls du type : /news/titre-de-ma-news/1/
A proprement parler, "/news" est le nom de mon controleur principal mais pour déterminer l'action, je se sais pas comment procéder.
pour "/news/add" c'est simple :
/news = controleur
/add = action
J'appelle alors la sous classe : newsAddControleur
mais pour /news/titre-de-ma-news/1/ :
/news = controleur
/titre-de-ma-news = action FAUX :\
action = ?
Comment procéder pour rester le plus générique possible ? Je n'ai pas envie de retoucher au dispatcheur de controleur à chaque ajout de métiers différents..
ou alors je détecte qu'il y a un /1/ et je considère que c'est une action = view pour le n°1.
Merci.