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 :

Différence getUser et getUsername [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 28
    Points : 24
    Points
    24
    Par défaut Différence getUser et getUsername
    Bonjour.

    Dans mon projet symfony2 j'ai deux entités:

    User.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <?php
    namespace MyApp\UtilisateurBundle\Entity;
    use FOS\UserBundle\Entity\User as BaseUser;
    use Doctrine\ORM\Mapping as ORM;
     
    /**
     * @ORM\Entity
     * @ORM\Table(name="fos_user")
     */
    class User extends BaseUser
    {
    	/**
    	* @ORM\Id
    	* @ORM\Column(type="integer")
    	* @ORM\generatedValue(strategy="AUTO")
    	*/
    	protected $id;
     
            /**
            * @ORM\OneToMany(targetEntity="Message", mappedBy="user")
            * @ORM\OrderBy({"createdAt" = "DESC"})
            *
            * @var ArrayCollection $message
            */
            protected $message;
     
    	public function __construct()
    	{
    		parent::__construct();
    	}
     
     
        /**
         * Get id
         *
         * @return integer $id
         */
        public function getId()
        {
            return $this->id;
        }
     
        /**
         * Add message
         *
         * @param MyApp\UtilisateurBundle\Entity\Message $message
         */
        public function addMessage(\MyApp\UtilisateurBundle\Entity\Message $message)
        {
            $this->message[] = $message;
        }
     
        /**
         * Get message
         *
         * @return Doctrine\Common\Collections\Collection $message
         */
        public function getMessage()
        {
            return $this->message;
        }
    }
    et Message.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
     
    <?php
     
    namespace MyApp\UtilisateurBundle\Entity;
    use FOS\UserBundle\Entity\User as BaseUser;
    use Doctrine\ORM\Mapping as ORM;
     
    /**
     * @ORM\Entity
     * @ORM\Table(name="message")
     */
    class Message
     
    {
     
        /**
         * @ORM\Id
         * @ORM\Column(type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;
     
     
        /**
         * @ORM\Column(type="text")
         */
        protected $message;
     
         /**
         * @ORM\Column(type="datetime", name="created_at")
         *
         * @var DateTime $createdAt
         */
        protected $createdAt;
     
        /**
         * @ORM\ManyToOne(targetEntity="User", inversedBy="message")
         * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
         *
         * @var User $username
         */
        protected $username;
     
     
     
     
        /**
         * Get id
         *
         * @return integer $id
         */
        public function getId()
        {
            return $this->id;
        }
     
        /**
         * Set message
         *
         * @param text $message
         */
        public function setMessage($message)
        {
            $this->message = $message;
        }
     
        /**
         * Get message
         *
         * @return text $message
         */
        public function getMessage()
        {
            return $this->message;
        }
     
        /**
         * Set createdAt
         *
         * @param datetime $createdAt
         */
        public function setCreatedAt($createdAt)
        {
            $this->createdAt = $createdAt;
        }
     
        /**
         * Get createdAt
         *
         * @return datetime $createdAt
         */
        public function getCreatedAt()
        {
            return $this->createdAt;
        }
     
        /**
         * Set username
         *
         * @param MyApp\UtilisateurBundle\Entity\User $username
         */
        public function setUsername(\MyApp\UtilisateurBundle\Entity\User $username)
        {
            $this->username = $username;
        }
     
        /**
         * Get username
         *
         * @return MyApp\UtilisateurBundle\Entity\User $username
         */
        public function getUsername()
        {
            return $this->username;
        }
    }
    Pour l'authentification j'utilise FOSUserBundle et une fois authentifié j'aimerai accéder au nom d'utilisateur lorsqu' il est connécté et qu'il poste un message. Pour faire cela, dans le controller j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $utilisateur = $this->get('security.context')->getToken()->getUsername();
    mais j'ai remarqué que le code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $utilisateur = $this->get('security.context')->getToken()->getUser();
    donnait le même résultat quand. Je ne comprend pas pourquoi. Pouriez vous m'éclairer?

    Merci d'avance

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut


    À vue de nez, getUser() te renvoie un utilisateur (un bel objet, avec plein de méthodes) et getUsername() son nom d'utilisateur. Quand tu caste l'utilisateur en une string, tu obtiens son nom d'utilisateur.

    Maintenant, tout dépend de ce que tu mets derrière ces deux dernières lignes : si tu ne fais que de l'affichage avec les variables, ça ne posera pas de problème ; si tu veux faire des choses plus compliquées (appel de méthodes, notamment), ça risque de poser problème (AFAICS).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Merci mille fois!!!!

    J'ai controllé en appliquant une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setUsername('nouveaunom')
    après avoir utilisé et le résultat est bien différent. Alors qu'avec j'obtiens une erreru si je fais la même chose...

    C'est ça d'être un débutant en php... N'hésitez pas à me taper dessus si je pose trop de questions idiotes...

    je croiyais qu'on pouvait seulement avoir accès à des membres d'une classes avec les get. En fait on peut appeler un objet en entier.

    Merci encore!!!

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

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  3. [CR][Jetform] Quelles sont les différences ?
    Par littlecow dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/07/2002, 11h40
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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