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 :

[Symfoy 2] Problème matching route [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Expert Technique Java
    Inscrit en
    Septembre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Expert Technique Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 117
    Par défaut [Symfoy 2] Problème matching route
    Bonjour à tous,

    Voilà comme expliquez dans le titre, j'ai un gros soucis de route.

    Je suis actuellement un tuto et j'ai suivis scrupuleusement les lignes à modifier ( je pense ) et j'ai une erreur de routing. J'ai même recommencé le tuto pensant à un oublie mais rien n'y fait.

    Voici mon erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Unable to find the controller for path "/blog/3012/bonjour.xml". Maybe you forgot to add the matching route in your routing configuration?
    Quelque soit l'URL que je passe ( qui correspond à ma route biensur ) cela ne fonctionne pas.

    J'ai essayé aussi /blog/toto/toto.html ou /blog/2014/noel.xml ça ne marche pas ...

    Mes routes :

    Code : 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
    sdzblog_accueil:
        path:      /blog
        defaults:  { _controller: SdzBlogBundle:Blog:index }
     
    sdzblog_voir:
        path:      /blog/article/{id}
        defaults:  { _controller: SdzBlogBundle:Blog:voir }
     
    sdzblog_ajouter:
        path:      /blog/ajouter
        defaults:  { _controller: SdzBlogBundle:Blog:sdzblog_voir_slug }
     
    sdzblog_voir_slug:
        path:      /blog/{annee}/{slug}.{format}
        defaults:  { _controller: SdzBlogBundle:Blog:voirSlug }
        requirements:
            annee:  \d{4}
            format: html|xml

    Et voici mon controller qui bloque apparemment... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // On récupère tous les paramètres en arguments de la méthode
    public function voirSlugAction($slug, $annee, $format)
    {
    // Ici le contenu de la méthode
        return new Response("On pourrait afficher l'article correspondant au slug '".$slug."', créé en ".$annee." et au format ".$format.".");
    }
    Quelqu'un a une idée, parce que moi je suis à cours là.

    Merci d'avance les gars.

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    apparemment il ne trouve pas le controlleur Blog

    peux tu nous mettre le code du controlleur (la structure)

  3. #3
    Membre confirmé
    Homme Profil pro
    Expert Technique Java
    Inscrit en
    Septembre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Expert Technique Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 117
    Par défaut
    Merci de ta réponse.

    Voici le code du controller complet :

    Code : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
     
    namespace Sdz\BlogBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\HttpFoundation\Response;
     
    class BlogController extends Controller
    {
    	public function indexAction()
    	{
    		return $this->render('SdzBlogBundle:Blog:index.html.twig', array('nom' => 'winzou'));
    	}
     
        // La route fait appel à SdzBlogBundle:Blog:voir, on doit donc définir la méthode voirAction
      	// On donne à cette méthode l'argument $id, pour correspondre au paramètre {id} de la route
    	public function voirAction($id)
    	{
        // $id vaut 5 si l'on a appelé l'URL /blog/article/5
     
        // Ici, on récupèrera depuis la base de données l'article correspondant à l'id $id
        // Puis on passera l'article à la vue pour qu'elle puisse l'afficher
     
    		return new Response("Affichage de l'article d'id : ".$id.".");
    	}
     
    	// On récupère tous les paramètres en arguments de la méthode
    	public function voirSlugAction($slug, $annee, $format)
    	{
        // Ici le contenu de la méthode
    		return new Response("On pourrait afficher l'article correspondant au slug '".$slug."', créé en ".$annee." et au format ".$format.".");
    	}
    }
    Merci d'avance !

  4. #4
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    je ne vois pas le problème.

    quand t'es bloqué, procède au plus simple :

    dans ton routing :
    vire toutes les routes, laisses que celui qui pose probleme, ensuite fais au plus simple vire les requirements, vire le "." et format.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sdzblog_voir_slug:
        path:      /blog/{annee}/{slug}
        defaults:  { _controller: SdzBlogBundle:Blog:voirSlug }

    puis teste, si ça marche tu rajoute les requirements. ensuite si ça marche rajoute "."+format. ainsi tu peux voir ou ça bloque.

    méthode de bourrin mais bon ....

  5. #5
    Membre confirmé
    Homme Profil pro
    Expert Technique Java
    Inscrit en
    Septembre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Expert Technique Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 117
    Par défaut
    Je viens d'essayé comme tu m'as dis mais ça ne marche pas.
    J'y est été petit à petit jusqu'à finir à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sdzblog_voir_slug:
        path:       /blog/{annee}
        defaults:  {*_controller:*SdzBlogBundle:Blog:voirSlug}

    Toutes mes autres routes fonctionne bien, sauf celle-ci ( et ajouter mais c'est normal ).


  6. #6
    Membre confirmé
    Homme Profil pro
    Expert Technique Java
    Inscrit en
    Septembre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Expert Technique Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 117
    Par défaut Re
    Je viens d'essayé comme tu m'as dis mais ça ne marche pas.
    J'y est été petit à petit jusqu'à finir à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sdzblog_voir_slug:
        path:       /blog/{annee}
        defaults:  {*_controller:*SdzBlogBundle:Blog:voirSlug}

    Toutes mes autres routes fonctionne bien, sauf celle-ci ( et ajouter mais c'est normal ).



    [EDIT] Désolé doublons [/EDIT]

  7. #7
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    que de mystère !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public function voirSlugAction($annee)
    	{
        // Ici le contenu de la méthode
    		return new Response($annee);
    	}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sdzblog_voir_slug:
        path:       /blog/{annee}
        defaults:  {_controller: SdzBlogBundle:Blog:voirSlug}
    essaye avec ça !
    vire bien toutes les autres routes

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

Discussions similaires

  1. [1.x] Problème de routing en JS
    Par joris34 dans le forum Symfony
    Réponses: 3
    Dernier message: 16/07/2010, 10h48
  2. [CakePHP] Problème de routing ?
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/12/2009, 19h40
  3. Mongrel : Problème de route
    Par DonKnacki dans le forum Ruby
    Réponses: 2
    Dernier message: 27/03/2009, 10h12
  4. Problème matches avec variable
    Par lerorodu51 dans le forum Langage
    Réponses: 1
    Dernier message: 06/12/2008, 09h18
  5. Accès action impossible, problème de route?
    Par barnoufal dans le forum Ruby on Rails
    Réponses: 12
    Dernier message: 17/10/2008, 15h54

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