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 :

routeur et passage de paramètre [POO]


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut routeur et passage de paramètre
    Bonjour,

    j'utilise le routeur que m'a donné rawsrc qui se présente comme cela :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    // routage très basique
    $routes = [
        'controller' => 'controller/controller_controller.php',
        'view' => 'controller/view_controller.php',
        'array' => 'controller/Disp_array_controller.php',
        'dispValTicket_view' => 'view/dispValuesTicket_view.php',
        'dispValTicket' => 'controller/dispValuesTicket_controller.php',
        'Disp_menu'=>'view/Disp_menu_view.php'
    ];
     
    parse_str($_SERVER['QUERY_STRING'], $query);//var_dump($_SERVER['QUERY_STRING']);
    $action = $query['action'] ?? '';
     
    session_start();
     
    // page d'accueil
    if ($action === '') {
        echo new PhpEcho([DIR_ROOT, 'controller view_controller.php']);
    } elseif (isset($routes[$query['action']])) {
        include DIR_ROOT.$routes[$query['action']];
    } else {
        echo 'Action non gérée';
    }
    et donc quand je dois faire un lien vers une des routes, ça se présente en <a href="?action='nom_route'">nom_lien</a>. Donc tout va bien pour faire un lien vers un fichier, mais si on veut transmettre un paramètre ? (pour faire un lien du genre <a href="?action='nom_route&&id=<?=$id ?>'">nom_lien</a>)

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    c'est comme ça : <a href="?action=nom_route&id=<?=$id ?>">nom_lien</a>, ensuite ton routeur doit faire parse_str($_SERVER['QUERY_STRING'], $query); quand il reçoit la requête, donc quand tu as l'action, tu fais un include du contrôleur associé et ton id se trouve dans le super tableau $_GET['id'].

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    OK,
    mais dans le routeur, je rajoute juste dans le tableau $routes, 'nom_route'=>'nom_fichier.php' et ça se débrouille ?

  4. #4
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    Novembre 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 100
    Points : 232
    Points
    232
    Par défaut
    Si 'nom_route' est comparé à la valeur de $_GET['action'] alors oui, c'est tout bon =)
    C'est le serveur HTTP qui parse l'URL et en extrait les paramètres pour ensuite les récupérer via $_GET, $_POST ou $_REQUEST en PHP...

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Je me suis dit que le plus simple était d'essayer...et ça marche (bon, pas du premier coup car quelques erreurs ; j'ai même commencé ma réponse par "problème" mais en relisant mon code...)

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

Discussions similaires

  1. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 14h58
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 01h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 14h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 18h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 20h47

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