IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Site web MVC : Comment gérer le contrôleur frontal ?


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 57
    Par défaut 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 ).
    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.

  2. #2
    Membre éclairé
    Inscrit en
    Août 2003
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 49
    Par défaut
    Je ne suis pas sûre d'avoir bien compris.
    Pour quoi tu ne met pas tout simplement:

    /news/read/titre-de-ma-news/1/

    ++

  3. #3
    Membre confirmé Avatar de hugobob
    Profil pro
    FOI
    Inscrit en
    Septembre 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Gabon

    Informations professionnelles :
    Activité : FOI

    Informations forums :
    Inscription : Septembre 2005
    Messages : 169
    Par défaut
    Suis pas sur d'avoir compris !

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Citation Envoyé par Snowboarder69
    Je ne suis pas sûre d'avoir bien compris.
    Pour quoi tu ne met pas tout simplement:

    /news/read/titre-de-ma-news/1/

    ++
    +1
    Après le contrôleur (news), tu dois mettre l'action (read). Sinon, les urls ne sont pas cohérentes. Si tu veux mettre des urls significatives, je te suggèrerais l'url suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /news/read/numero_de_la_news/titre_de_la_news
    En effet, la seule chose qui t'intéresse est le numéro de la news, pas son titre. Tu n'as donc pas besoin d'extraire le titre.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 57
    Par défaut
    /news/read/numero_de_la_news/titre_de_la_news
    Ok mais après une petite reflexion, j'ai compris où je devais effectué les traitements de l'url :
    une fois le nom du controleur et de l'action, j'appelle ce sous controleur et là je traite la fin de la chaîne. Ainsi je ne dois pas modifier mon controleur frontal à chaque ajout d'action.

  6. #6
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    ???

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/01/2010, 00h54
  2. Réponses: 6
    Dernier message: 12/03/2009, 14h00
  3. vendre un site web légalement, comment ?
    Par Jérémy Lefevre dans le forum Structure
    Réponses: 3
    Dernier message: 31/12/2007, 16h00
  4. [UML] modélisation detaillée de site web (MVC)
    Par 17mounir dans le forum MVC
    Réponses: 3
    Dernier message: 27/12/2005, 11h53
  5. Réponses: 4
    Dernier message: 13/12/2005, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo