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

Symfony PHP Discussion :

Récupérer paramètre par défaut de la route dans le controlleur


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Points : 25
    Points
    25
    Par défaut Récupérer paramètre par défaut de la route dans le controlleur
    Bonjour,

    J'apprends Symfony3 et je suis en train de tester ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    blog_list:
        path:      /blog/{page}
        defaults:  { _controller: AppBundle:Blog:index, page: 1 }
        requirements:
            page: '\d+'
    Je veux récupérer la valeur par défaut dans mon controlleur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public function indexAction($page)
    {
        return new Response(var_dump($page));
    }
    J'obtiens : string(0) "" en me dirigeant sur la route /blog

    Comment accéder a cette variable par défaut ? Quand je passe moi meme le paramètre je récupère la valeur.

    Merci.

  2. #2
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,

    Il faut ajouter use Symfony\Component\HttpFoundation\Request; si ce n'est pas déjà fait

    Et la méthode deviendra indexAction(Request $request, $page) et la récupération se fait avec $request->attributes->get('page'), Sinon on peut aussi passer la valeur par défaut dans la méthode indexAction($page=1)
    Le bienfait n'est jamais perdu

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Points : 25
    Points
    25
    Par défaut
    Merci de ta réponse Willy_k,

    Malheureusement aucune des 2 ne fonctionne, j'avais d'ailleurs essayé ces 2 options là... je me dis finalement que c'est peut être pas possible...

    namespace SdzBlogBundle\Controller;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\HttpFoundation\Response;
    use Symfony\Component\HttpFoundation\Request;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       public function indexAction($page=1)
        {
            return new Response(var_dump($page));
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      public function indexAction(Request $request, $page)
        {
            return new Response($request->attributes->get('page'));
        }
    Les 2 fails

  4. #4
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Viens de tester encore et j'ai bien les retours de la valeur par défaut.
    Le bienfait n'est jamais perdu

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Points : 25
    Points
    25
    Par défaut
    Vraiment dommage que sa ne fonctionne pas chez moi... enfin bon..

    Merci quand même !

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Points : 378
    Points
    378
    Par défaut
    C'est pas attributs qu'il faut utiliser :

    https://symfony.com/doc/current/cont...esponse-object

Discussions similaires

  1. [C#] Paramètre par défaut dans une fonction
    Par RobinJulie dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/01/2012, 14h07
  2. Paramètre par défaut dans une fonction
    Par airballman dans le forum MATLAB
    Réponses: 4
    Dernier message: 21/05/2010, 08h41
  3. Paramètre par défaut dans une fonction
    Par Rodie dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/06/2008, 10h26
  4. Réponses: 2
    Dernier message: 19/03/2005, 17h09

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