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 :

routage controller action


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 165
    Points : 84
    Points
    84
    Par défaut routage controller action
    Bonjour,
    je passe de Zend à Symfony 2 et je souhaiterais retrouver le système de routage que j'avais dans zend .

    url htpp://mondomaine.com/mon_controller/mon_action/mes_parametres

    dans mon fichier routing.yml je ne n'arrive a trouver la façon de faire ça, est ce que ce dois écrire une route par controller et par action :-( ou écrire mes routes dans chaque controller/action dans les annotations , je suis un peu perdu avec le systeme d'annotation , je ne comprend pas très bien quand et comment l'utiliser.

    Merci

  2. #2
    Membre averti
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Points : 445
    Points
    445
    Billets dans le blog
    7
    Par défaut
    Bonjour,
    Le systême d'annotations est une façon de configuration comme le xml et yml,
    y'a ceux qui préfère les annotations car tu déclare la plus part de tes rêgles de routage directement dans ton controlleur),
    y'a ceux qui préfaire le xml car c'est un format très populaire et tous le monde le conait
    y'a ceux qui préfaire le yml pour son syntaxe lisible et friendly
    C'est une question de goût après la config se mettera dans le cache quelque soit le format (y'a pas une difference majeur dans les perfs)

    cependant pour créer tes routes vaut mieux les regrouper par context genre dans le controleur MediaController tu met ( je préfaire les annotations ):

    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
    <?php
     
    namespace My\DemoBundle\Controller;
     
    /**
     * Tu peu rpréfixer globalement tes routes
     * @Route("/media")
     */
    class MediaController extends BaseController
    {    
        /**
         * @Route("/index", name="media_index")
         */
        public function indexAction()
        {
        }   
     
        /**
         * @Route("/edit/{id}", name="media_edit")
         */
        public function leditAction()
        {
        }   
     
        /**
         * @Route("/delete/{id}", name="media_delete")
         */
        public function deleteAction()
        {
        }
    et dans ton fichier /app/config/routing.yml tu charge ton controlleur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    app:
        resource: @MyDemoBundle/Controller/
        type:     annotation #important!
    y'a une commande qui te permet de voir les routes disponibles dans ton application

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console router:debug
    jette un oeuil sur http://symfony.com/fr/doc/current/book/routing.html
    et sur http://symfony.com/fr/doc/current/bu...s/routing.html
    Je suis Développeur Senior ouvert aux opportunités
    Mon blog

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 165
    Points : 84
    Points
    84
    Par défaut routing controller action
    Slt
    merci pour ton aide, je m'en suis en effet sortie comme tu me le préconise, par contre je trouve étonnant qu'on ne puisse pas établir une règle générale dan le routing.yml pour lui dire :
    toute les url du type : http://mon_domaine.com/mon_controlle...tion/mes_param sont redirigé de la manière suivante :

    controller = mon_controller
    methode = mon_action
    les arguments = mes_param

    sans avoir a taper une ligne par controler/action

    merci
    A+

  4. #4
    Membre averti
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Points : 445
    Points
    445
    Billets dans le blog
    7
    Par défaut
    Je comprend ce que tu veux dire mais l'esprit de ce composant est un peux different

    c'est vrai qu'il des trucs magiques un peut partout (deviner le path vers le template à partir du nom du controlleur + nom de l'action par ex)
    ou bien le paramConverter: le place Holder {id} se convertie en entité si tu le déclare:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /**
         * @Route("/edit/{id}", name="media_edit", options="{}", requirements={})
         */
        public function editAction(Media $media)
    mais là le systême de routage est un peut explicite pour donner plus de flexibilité de personalisation

    car tu peux aussi ajouter autres informations telsque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     @Route("/edit/{id}", name="media_edit", options="{}", requirements={})
         */
    Je suis Développeur Senior ouvert aux opportunités
    Mon blog

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 165
    Points : 84
    Points
    84
    Par défaut routing controller action
    Merci pour ces compléments d'informations, je vais faire regarder ca en profondeur , ca a l'air bien sympa quand meme ;-)

    A+

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/06/2015, 13h56
  2. Appeler une action via controller::action() ?
    Par Khleo dans le forum MVC
    Réponses: 2
    Dernier message: 20/02/2013, 17h38
  3. [ZF 1.9] Utilisation Controller / Action / cle / valeur
    Par JonathanMQ dans le forum MVC
    Réponses: 3
    Dernier message: 09/03/2010, 15h01
  4. Réponses: 1
    Dernier message: 04/06/2009, 19h45
  5. Réponses: 6
    Dernier message: 06/10/2004, 10h41

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