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?
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?
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
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; }
$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();
OK, merci.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager