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 :

Pas bonne route appelée [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut Pas bonne route appelée
    Bonjour,

    Je suis totalement novice car je viens de débuter l'étude de Symfony 2. Je suis actuellement en train d'étudier un très bon tutoriel trouvé sur un autre site.

    Dans le bundle réalisé, voici le fichier 'routing.yml' utilisé :

    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
    sdzblog:
        pattern:   /{page}
        defaults:  { _controller: SdzBlogBundle:Blog:liste, page: 1 }
        requirements:
            page:  \d+
     
    sdzblog_voir:
        pattern:   /{slug}
        defaults:  { _controller: SdzBlogBundle:Blog:voir }
     
    sdzblog_ajouter:
        pattern:   /ajouter/article
        defaults:  { _controller: SdzBlogBundle:Blog:ajouter }
     
    sdzblog_modifier:
        pattern:   /modifier/{id}
        defaults:  { _controller: SdzBlogBundle:Blog:modifier }
        requirements:
            id:  \d+
     
    sdzblog_supprimer:
        pattern:   /supprimer/{id}
        defaults:  { _controller: SdzBlogBundle:Blog:supprimer }
        requirements:
            id:  \d+
    Voici le fichier 'BlogController.php' utilisé :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?php
     
    namespace Sdz\BlogBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\Httpfoundation\Response;
     
    // /!\ Attention, nouvel objet à charger !
    use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
     
    class BlogController extends Controller
    {
        public function listeAction($page)
        {
            // On ne sait pas combien de pages il y a, mais on sait qu'une page
            // doit être supérieure ou égale à 1.
            if( $page < 1 )
            {
                // On déclenche une exception NotFoundHttpException, cela va afficher
                // la page d'erreur 404 (on pourra personnaliser cette page plus tard, d'ailleurs).
                throw new NotFoundHttpException('Page inexistante (page = '.$page.')');
            }
     
            // Ici, on récupérera la liste des articles, puis on la passera au template.
     
            // Mais pour l'instant, on ne fait qu'appeler le template.
            // Ce template n'existe pas encore, on va le créer dans le prochain chapitre.
            return $this->render('SdzBlogBundle:Blog:liste.html.twig', array('articles' => array()));
        }
     
        public function voirAction($slug)
        {
            // Ici, on récupérera l'article correspondant au $slug.
            return $this->render('SdzBlogBundle:Blog:voir.html.twig');
        }
     
        public function ajouterAction()
        {
            // Ici, on s'occupera de la création et de la gestion du formulaire (via un service).
     
            return $this->render('SdzBlogBundle:Blog:ajouter.html.twig');
        }
     
        public function modifierAction($id)
        {
            // Ici, on récupérera l'article correspondant à l'$id.
     
            // Ici, on s'occupera de la création et de la gestion du formulaire (via un service).
     
            return $this->render('SdzBlogBundle:Blog:modifier.html.twig');
        }
     
        public function supprimerAction($id)
        {
            // Ici, on récupérera l'article correspondant à l'$id.
     
            // Ici, on gérera la suppression de l'article en question.
     
            return $this->render('SdzBlogBundle:Blog:supprimer.html.twig');
        }
    }
    Lorsque je tape l'url "http://localhost/Symfony/web/app_dev.php/blog", c'est le template 'voir.html.twig' qui est appelé au lieu de 'liste.html.twig'.

    Je ne comprends pas d'où provient mon erreur.

    Quelqu'un aurait une idée?

    Merci d'avance pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    J'ai (enfin) trouvé mon erreur. Je butais dessus depuis hier soir!

    Dans le fichier de configuration générale 'routing.yml', j'avais oublié de préciser que le préfixe de mes routes était '/blog', si bien que 'blog' était condidéré comme un paramètre. J'ai donc modifié correctement ledit fichier comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SdzBlogBundle:
        resource: "@SdzBlogBundle/Resources/config/routing.yml"
        prefix:   /blog
    Tout est maintenant OK.

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

Discussions similaires

  1. Bug URL Routing C# : Il ne prend pas la bonne route
    Par Scots dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 22/10/2014, 14h00
  2. Pourquoi Zend Studio ne lance-t-il pas le fichier appelé par "ACTION"
    Par Claude_Azoulai dans le forum Zend Studio
    Réponses: 4
    Dernier message: 22/09/2007, 02h54
  3. J'ai 3 fonctions mais j'arrive pas a en appeller une
    Par Ofeneim dans le forum VBA Access
    Réponses: 9
    Dernier message: 23/05/2007, 17h36
  4. Réponses: 10
    Dernier message: 05/02/2007, 17h07
  5. Réponses: 12
    Dernier message: 29/04/2005, 14h37

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