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

 PHP Discussion :

"slug" dans le tutorial symfony ? [1.x]


Sujet :

PHP

  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 39
    Par défaut "slug" dans le tutorial symfony ?
    Bonjour à tous,

    Est ce que l'un de vous sais ce que signifie slug dans le tutorial de symfony et qu'elle est son utilité ?
    Voici un example de commande :$this->setSlug(Jobeet::slugify($name));
    MERCI ;

    Cordialement,

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    Le slug est un behavior de Doctrine qui te permet de rendre un attrribut de ton modèle "propre" afin de pouvoir le passer dans une URL.
    Doctrine le rends unique ce qui te permet de pouvoir t'en servir comme identifiant.

    Pour ce qui est du Tuto et si tu utilise Doctrine, la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Doctrine_inflector::urlize($string);
    est beaucoup plus propre.

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 39
    Par défaut
    Tout à fait ça permet de "nétoyer" un string pour pouvoir le passer en arguement ou l'inclure dans une URL. il permet de passer de tous les caractéres non ASCII à "_" et de tout caractére majuscule en miniscule. Voici un example :
    Sensio Labs ça donne sensio-labs
    Paris, France ça donne paris-france

    Voila, merci pour ta réponse Muspil

    Cordialement,

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 39
    Par défaut
    Voici le code pour tester si ça marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // test/unit/JobeetTest.php
    require_once dirname(__FILE__).'/../bootstrap/unit.php';
     
    $t = new lime_test(6, new lime_output_color());
     
    $t->is(Jobeet::slugify('Sensio'), 'sensio');
    $t->is(Jobeet::slugify('sensio labs'), 'sensio-labs');
    $t->is(Jobeet::slugify('sensio   labs'), 'sensio-labs');
    $t->is(Jobeet::slugify('paris,france'), 'paris-france');
    $t->is(Jobeet::slugify('  sensio'), 'sensio');
    $t->is(Jobeet::slugify('sensio  '), 'sensio');
    et puis faire la commande (pour un projet nomé Jobeet)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ php symfony test:unit Jobeet

  5. #5
    Membre confirmé
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Par défaut
    Utiliser la méthode urlize($string) et plus propre que d'utiliser un slug donc ?

  6. #6
    Membre éprouvé Avatar de Vicrabb
    Femme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Par défaut
    Il faudrait voir si cela est encore possible sous symfony 1.4 (puisque tu sembles utiliser cette version par rapport à tes messages). Etant donné qu'il y a quelques différences (constatées parce que je suivais le tuto jobeet en français de la version 1.2 - version papier - pour un framework 1.4), il vaut mieux se renseigner.

  7. #7
    Membre confirmé
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Novembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 61
    Par défaut
    Oui, je n'ai pas fait attention à la date des posts ^^'
    Je pense que slug/slugify proposé par le tutoriel doit être plus performant sinon il l'aurait dit je pense...

  8. #8
    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
    A noter que doctine 1.2 a un beahvior qui permet de créer automatiquement un slug, unique pour la table et composé d'un ou plusieurs champs. Celui-ci peut facilement être utilisé dans les routes de symfony.

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

Discussions similaires

  1. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51

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