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 :

Possibilité de requirement dans routing [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de matteli
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut Possibilité de requirement dans routing
    Bonjour,

    J'ai trouvé, dans un exemple de code, l'option suivante pour un requirement d'un routing :

    requirements: { slug: ^.*$ }

    Est-ce quelqu'un peut m'expliquer la signification des caractères ^.*$

    De façon plus générale, existe t'il un document qui fasse référence dans le domaine ?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 195
    Par défaut
    C'est une expression régulière et exprime comment est formaté la chaine, dans ce cas le slug doit être de la forme ^.*$( tout type de chaines
    si je me souviens bien ) , donc va voir pour ça du coté des expressions régulière ( REGEX ). Sur la doc symfony c'est assez bien expliqué d’ailleurs.
    http://symfony.com/doc/2.0/book/routing.html

  3. #3
    Membre confirmé Avatar de matteli
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut
    Citation Envoyé par gilwath Voir le message
    C'est une expression régulière et exprime comment est formaté la chaine, dans ce cas le slug doit être de la forme ^.*$( tout type de chaines
    si je me souviens bien ) , donc va voir pour ça du coté des expressions régulière ( REGEX ). Sur la doc symfony c'est assez bien expliqué d’ailleurs.
    http://symfony.com/doc/2.0/book/routing.html
    J'avais bien compris l'intérêt et lu l'explication de la doc de Symfony.

    C'est ce que tu as mis entre parenthèses qui m'intéressait.

    Je vais aller voir du côté de REGEX donc.

    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 195
    Par défaut
    Un petit lien wikipedia pour aider :
    http://en.wikipedia.org/wiki/Regular_expression
    c'est une norme, et c'est présent dans la plupart des langages de programmation, et quand on doit jouer avec les chaines de caractère c'est utile.

    EDIT : regarde la doc de php aussi dessus http://php.net/manual/fr/book.regex.php
    EDIT2 : c'est surement mieux, et beaucoup plus conseillé à utilisé http://www.php.net/manual/fr/book.pcre.php

  5. #5
    Membre confirmé Avatar de matteli
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut
    Citation Envoyé par gilwath Voir le message
    Un petit lien wikipedia pour aider :
    http://en.wikipedia.org/wiki/Regular_expression
    c'est une norme, et c'est présent dans la plupart des langages de programmation, et quand on doit jouer avec les chaines de caractère c'est utile.

    EDIT : regarde la doc de php aussi dessus http://php.net/manual/fr/book.regex.php
    EDIT2 : c'est surement mieux, et beaucoup plus conseillé à utilisé http://www.php.net/manual/fr/book.pcre.php

    C'est parfait. Merci.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Par défaut
    Pour expliquer la regex ^.*$ :

    ^ correspond à "début de chaine"
    . correspond à "nimporte quel caractère"
    * correspond à "le caractère précédant répété entre 0 et une infinité de fois"
    $ correspond à "fin de chaine"

    Si on traduit la regex en francais, ca donne donc : N'importe quel caractères répété autant de fois que nécessaire, situé entre le début et la fin de la chaine. Concrêtement : n'importe quel chaine de caractères :p

    Autre exemple : ^.w* correspond à : Le 1er caractère peut être n'importe lequel, les suivants doivent être des w (entre 0 et une infinité de fois). Exemple de chaines qui marchent avec cette regex : awwwwwsodfhsf, a, awiudfhiusdygf. Exemple qui ne marchent pas : auwwwww (2e caractère n'est pas w), mmmaw (1er caractère n'est pas a), etc.

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

Discussions similaires

  1. [1.x] requirements dans le routing.yml
    Par coupolites dans le forum Symfony
    Réponses: 7
    Dernier message: 15/04/2011, 16h49
  2. [PHP 5.2] "include" et "require" dans une classe
    Par Samuel2202 dans le forum Langage
    Réponses: 7
    Dernier message: 22/12/2008, 20h21
  3. Réponses: 4
    Dernier message: 16/11/2008, 14h35
  4. [SWFObject 2.0] Erreur javascript "object required" dans IE6 et 7
    Par web_traveller dans le forum Intégration
    Réponses: 0
    Dernier message: 25/04/2008, 15h51
  5. Avoir la possibilité de saisie dans un DBLoukupComboBox
    Par soror dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/08/2007, 17h13

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