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 :

Définir un prefix pour toutes les routes


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 48
    Points
    48
    Par défaut Définir un prefix pour toutes les routes
    Bonjour à tous,

    Petite question technique sur les prefixes des routes. Mon application tourne autour du concept de projet pouvant contenir plusieurs groupes.

    J'aimerais donc avoir tout le temps dans mes routes /project/idprojet/groupe/idgroupe/entité/action afin de savoir sur quel projet et sur quel groupe l'utilisateur est en permanence.

    J'ai généré mes deux entités et les CRUD respectifs et pour l'instant je n'ai que /projet/idprojet ou /groupe/idgroupe ou /entite/action si je suis sur une autre entité.

    J'ai tenté de modifié le prefix de mon controller mais cela ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    /**
     * Groupe controller.
     *
     * @Route("/project/{project_id}/groupe")
     */
    class GroupeController extends Controller
    {
    ..
    Comment faire pour avoir ce type de prefix à chaque fois?


    Merci d'avance.

  2. #2
    Membre actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Points : 206
    Points
    206
    Par défaut
    vous pouvez définir le prefix dans le fichier de routage (routing.yml), ce prefix peut continir des paramètres, exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TestSiteBundleGroupe:
        resource: "@TestSiteBundle/Controller/GroupeController.php"
        type:     annotation
        prefix:   /projet/{id_projet}/groupe

  3. #3
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    Même en ajoutant ces modifs dans le fichier routing.yml ça fonctionne pas, j'ai contourné le problème en modifiant la route pour chaque méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    /**
         * Lists all Groupe entities.
         *
         * @Route("/project/{id_projet}/groupes/", name="groupe")
         * @Template()
         */
        public function indexAction()

    le seul problème c'est que je vais devoir le faire pour chaque méthode

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 135
    Points : 153
    Points
    153
    Par défaut
    Si j'ai bien compris tu veux pouvoir avoir une route prédéfini ?

    moi j'utilise cela par exemple dans ton routing.yml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    default_ajax:
      resource: "@DefaultBundle/Resources/config/routing/ajax.yml"
      prefix: /ajax
    puis dans ton fichier ajax.yml tu définis les routes que tu veux
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ajax_autosuggest:
      pattern: /autosuggest
      defaults: { _controller: DefaultBundle:Commune:autosuggest}
    du coup t'aura une URL .../ajax/autosuggest qui appelera la fonction autosuggest
    En esperant t'avoir aidé/

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,
    Dans une appli j'ai défini des prefixes avec parametres directement dans les annotations (comme ton premier post) et cela n'a pas posé de problèmes.
    Je ne vois pas pourquoi cela ne fonctionne pas chez toi.
    As tu vidé le cache et consulter: app/console router:debug (liste de toutes les routes disponibles)?

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/03/2006, 14h16
  2. Ma requête ne calcul pas pour tout les champs
    Par leloup84 dans le forum Requêtes
    Réponses: 10
    Dernier message: 01/03/2006, 12h59
  3. Ma requête ne calcul pas pour tout les champs
    Par leloup84 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/03/2006, 10h11
  4. Site pour toutes les résolutions...
    Par Angeldu74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 24/02/2006, 23h14
  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