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 :

le @ pour une route ?


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 13
    Par défaut le @ pour une route ?
    Bonjour,

    Je vois parfois dans le tutorial de Joobet des @ pour le routing, dans des fonctions url_for ou link_to

    Mais je n'arrive pas à comprendre la différence entre le fait d'inclure le @ et de ne pas l'inclure ... si une bonne âme pouvait m'expliquer ? :-)

    Merci,

  2. #2
    Membre chevronné Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Par défaut
    Bonjour,

    Le '@' te permet de spécifier le nom de la route que tu souhaites utiliser et donc d'éviter au framework de routing de devoir vérifier toutes les routes et surtout, de matcher sur la mauvaise route.

    Dans les urls, il est toujours conseillé de spécifier le nom de la route et du coup, de toujours créer une route pour toutes tes urls. Il est également conseillé de supprimer les routes de bases (à part homepage).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 13
    Par défaut
    Merci pour cette réponse,

    mais il y a pas mal d'exemples dans le tutorial de Jobeet où la route est utilisé avec le @, et parfois sans, sans pour autant donner plus d'information que le nom de la route (pas de modules/actions)

    Dans le jour 5 par exemple, il y a un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    url_for(array('sf_route' => 'job_show_user' ,'sf_subject' => $job));
     
    or just : 
     
    url_for('job_show_user', $job);
    Et il n'y a pas de arobase ... ?

  4. #4
    Membre chevronné Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Par défaut
    Je t'avoue ne pas me souvenir du tuto mais quoiqu'il arrive, essaye de mettre des @ autant que possible, ça te simplifiera la vie.

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    En fait le @ aurait tendance à être déprécié depuis la 1.3 et 1.4.

    A voir ce que la 2.0 nous donnera

  6. #6
    Membre éprouvé

    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 173
    Par défaut
    Salut,

    En fait le '@' sert a appeler une route nommée première forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      url_for(nom_de_la_route);
    L'appel d'une route nommée sans @ se fait dans le cas de la seconde forme (un objet en second paramètre)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      url_for(nom_de_la_route, objet))
    cette seconde forme est employée par les routes doctrines, sauf s'il s'agit d'une route doctrine de type list (collection d'objets passés) .
    On écrira par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      url_for('@joobet_index');
    Petite astuce, il est aussi possible d'utiliser le @ dans une route doctrine.
    il suffit d'appeler la route doctrine en utilisant la 1ère forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      url_for(@nom_de_la_route?object_id=$object_id)
    C'est pas très propre mais dans certains cas ca peut aider.

Discussions similaires

  1. [2.x] Convertir une route en url pour ADesign/calendar-bundle
    Par yasen77 dans le forum Symfony
    Réponses: 2
    Dernier message: 20/08/2014, 16h54
  2. [2.x] [Routing] Avoir un préfixe variable pour une ressource externe
    Par creativecwx dans le forum Symfony
    Réponses: 13
    Dernier message: 10/05/2011, 12h23
  3. Réponses: 1
    Dernier message: 22/02/2010, 13h24
  4. Encore une jointure sous Oracle pour la route
    Par ebaynaud dans le forum Langage SQL
    Réponses: 15
    Dernier message: 04/11/2004, 11h40

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