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

Langage PHP Discussion :

Le mot clef $this utilisé seul


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    décembre 2008
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : décembre 2008
    Messages : 1 302
    Points : 668
    Points
    668
    Par défaut Le mot clef $this utilisé seul
    Bonjour,
    Dans un code de classe, j'ai trouvé l'expression return $this; sans indication de méthode ou de variable. Fait-il référence au contenu de toute la classe ou de l'instance?

  2. #2
    Membre régulier
    Homme Profil pro
    Autre
    Inscrit en
    juillet 2021
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : juillet 2021
    Messages : 58
    Points : 110
    Points
    110
    Par défaut
    Bonjour,

    $this fait toujours référence à l'instance.
    Pour faire référence à la classe à l'intérieur de celle-ci, tu peux utiliser le mot-clé self.

    Voir les exemples ainsi que les commentaires sur la doc :
    https://www.php.net/manual/fr/language.oop5.basic.php
    https://www.php.net/manual/fr/langua...ekudotayim.php

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    décembre 2008
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : décembre 2008
    Messages : 1 302
    Points : 668
    Points
    668
    Par défaut
    Ma question est mal posée.
    Dans l'expression return $this; sans '->' c'est à dire non suivie d'une propriété ou d'une méthode, est-ce que le $this retourne toute l'instance au complet?
    Par exemple dans ce code quel est l'intérêt d'ajouter ce return $this;?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        public function setRequired($mode)
        {
            $this->required = intval($mode);
            return $this;
        }

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    août 2003
    Messages
    6 568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 6 568
    Points : 19 465
    Points
    19 465
    Par défaut
    $this référence l'instance de ta classe , retourner $this , permet donc de retourner toute l'instance.

    L'intérêt de se procéder est de pouvoir chainer les appels de méthodes.

    par exemple :

    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
    class Foo
    {
    	public function hello() {
    		echo 'Hello';
    		return $this;
    	}
     
    	public function world() {
    		echo 'World';
    		return $this;
    	}
     
    }
     
    $foo = new Foo();
    $foo->hello()->world();
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    décembre 2008
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : décembre 2008
    Messages : 1 302
    Points : 668
    Points
    668
    Par défaut
    OK, merci.

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

Discussions similaires

  1. Référence du mot clef "this"
    Par Sinouhé87 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 03/04/2020, 13h54
  2. Mot clef KEY seul
    Par Cafeinoman dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/01/2014, 21h48
  3. portée du mot clef this
    Par Torx26 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/04/2012, 21h15
  4. mot clef sql pour nom de champ
    Par bobinou007 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/10/2004, 13h21

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