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 :

pourquoi un antislash


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 326
    Par défaut pourquoi un antislash
    bonjour,
    dans un tuto que j'ai trouvé sur un autre site, il y a la classe SdzAntispam qui hérite de Twig_Extension
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    class SdzAntispam extends \Twig_Extension
    {}
    Pourquoi met-on un antislash à Twig_Extension ? Est-ce par rapport au fait que c'est une interface, classe abstraite, etc ?

    Merci d'avance

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Bonjour,

    l'antislash indique que l'on ne se réfère pas à un espace de nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    namespace Sdz\BlogBundle\Antispam;
    //écrit comme cela la classe SdzAntispam est censé hérité de la classe Sdz\BlogBundle\Antispam\Twig_Extension (qui n'existe pas)
    class SdzAntispam extends Twig_Extension
    {
      // …
    }
    Twig est une des rares librairies de Symfony qui n'utilise pas les namespaces.
    Pour ceux qui utilisent les namespaces on utilisera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    namespace Sdz\BlogBundle\Repository;
     
    class NewRepository extends Doctrine\ORM\EntityRepository
    {
      // …
    }
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    namespace Sdz\BlogBundle\Repository;
     
    use Doctrine\ORM\EntityRepository;
     
    class NewRepository extends EntityRepository
    {
      // …
    }
    C'est une erreur courante au début d'oublier le namespace sur les classes de Bases de php tel que Exception ou DateTime

    exemple de code qui plante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    namespace Sdz\BlogBundle\Repository;
     
    use Doctrine\ORM\EntityRepository;
     
    class NewRepository extends EntityRepository
    {
       //recherche la classe Sdz\BlogBundle\Repository\DateTime
       public function findByDate(DateTime $dt){
         //recherche la classe Sdz\BlogBundle\Repository\Exception
         throw new Exception('TEST');
       }
    }
    exemple de code qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    namespace Sdz\BlogBundle\Repository;
     
    use Doctrine\ORM\EntityRepository;
    use \DateTime;
     
    class NewRepository extends EntityRepository
    {
       public function findByDate(DateTime $dt){
         throw new \Exception('TEST');
       }
    }
    la doc complete sur les namespaces http://php.net/manual/fr/language.namespaces.php

  3. #3
    Membre extrêmement actif Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 326
    Par défaut
    ici \DateTime et \Exception , ce sont les fonction de PHP plutot que symfony 2 si j'ai bien compris

Discussions similaires

  1. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  2. Que choisir ? C# , VB.NET, C++, Delphi ? pourquoi ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 475
    Dernier message: 08/04/2010, 19h27
  3. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  4. Pourquoi ces directives #ifndef ... en haut des .h
    Par Patrick PETIT dans le forum C
    Réponses: 8
    Dernier message: 06/03/2003, 23h53

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