Bonjour,
Je viens d'arriver sur le forum, car je me suis mis au développement en POO+MVC et j'ai encore pas mal de lacunes, même si j'ai compris le concept global.
J'ai une interrogation concernant le choix de structuration de mes controleurs et méthodes le tout lié à mes URL définitive, car peut être que je pense mal la chose et je voudrais être éclairé sur ce point. Je prends un peu en longueur pour expliquer ma demande, mais je préfère ça pour que ce soit au maximum compréhensible à vous qui prendrez le temps de me répondre :)
Je m'explique un peu mieux :
Dans l'idée, j'ai une structure de site à 4 niveaux au maximum :
Au niveau 1, j'ai mon accueil de site
Au niveau 2, j'ai mes différentes rubriques principales dont la rubrique "réalisations"
Au niveau 3, j'ai les différentes rubriques de la rubrique "réalisations"
Au niveau 4, j'ai les différentes réalisations.
Au niveau des urls rewritée finales, j'aimerais avoir quelque chose du genre :
/
/realisations
/realisations/categorieDeRealisations
/realisations/categorieDeRealisations/id/nomDeLaRealisation
Dans mon idée , j'aurais :
Et là je me dis, avec une réécriture dans mon .htaccess comme ceci :
RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/([0-9]+)/([a-zA-Z0-9-]+)$ Web/app.php?module=$1&action=$2&id=$3
je récupérerais directement le bon nom de controleur et le bon nom d'action dans mon url et j'obtiendrais le résultat escompté.
Mais je crée beaucoup de controleurs pour mes sous rubriques, je me demande si c'est correct dans l'optique MVC.
Il serait envisageable que "index", "categorie" et "details" soient simplement des méthodes du controleur "réalisations", ce qui supprimerait l'utilisation des controleurs de sous rubriques.
Seulement, je me retrouverais avec une url contenant ce controleur "categorie" dont j'aimerais me passer mais qu'il ne sera pas possible de supprimer à la réécriture via .htaccess (à ma maigre connaissance ?), mais seulement via un routeur (j'ai vu le tuto graphikart dessus, c'est juste au dessus de mes compétences pour l'instant).
Quel est votre avis sur la question, l'option évoquée initialement est-elle correcte ou pas selon vous ?
Merci d'avance de vos réponses :)
Bonsoir.
J'ai un peu de mal à comprendre ce que tu cherches à faire, car d'après ce que tu expliques, ce serait un portfolio et d'après les url's, ça donnerait quelque chose du genre :
Pour ce qui concerne les controllers, 3 seraient largement suffisant.
Ce n'est bien sûr qu'un exemple, mais c'est quand même plus logique que ce que tu voulais faire, tout comme tu peux très bien ne pas faire un troisième controller et afficher une réalisation spécifique dans une quatrième méthode dans le second controller.
Pour donner un exemple par rapport à l'url finale pour afficher une réalisation : categorie\/sous-categorie\/id\/realisation.
Dans ce schéma là, je ne vois pas l'intérêt de faire un controller pour chaque catégorie/sous-catégorie/réalisation, tu es censé faire quelque chose de dynamique et non de statique.
Mmmh, déja merci de ta réponse. :)
J'ai parfois encore un peu de mal à faire le lien entre la structure de mon arborescence et celle de mes classes. Je pense à peu près comprendre ce que tu m'explique et pourrait en effet simplifier.
Si je résume et pour être sur d'avoir bien compris j'aurais donc bien celà ?
En correspondance unwrite/rewrite des urls, on aurait quelque chose du genre :
Seulement si je ne veux pas dans l'exemple 2 "/site/contact", mais "/contact", je ne pourrais pas si je ne m'abuse ?
Merci encore de ta réponse, j'attends réponse pour la suite :)
(Désolé de la mise en forme, markdown c'est pas mon truc...)