Quand utiliser soi-même plus de $ this en PHP ?

| | | | | | | | | |
Opérateur self : L`opérateur self représente la classe courante et est donc utilisé pour accéder aux variables de classe ou aux variables statiques, puisque ces membres appartiennent à la classe et non à un objet de cette classe. Syntaxe :
self::$static_member 
Exemple 1 : Ceci est un exemple de base qui montre l`utilisation de l`opérateur self. < ? php classe GFG privé statique $static_member = "GeeksForGeeks"  ; fonction __ construct() { echo self :: $ static_member  ; // Accès à la variable statique } }nouveau GFG(); ?> Sortie :
GeeksForGeeks 
Exemple 2 : Cet exemple est une démonstration de l`utilisation du comportement polymorphe en php en utilisant self. classe GFG fonction prnt() { echo `Classe Parent` ; } fonction barre ( ) { soi :: prnt(); } } classe Enfant étend GFG fonction prnt() { echo `Classe enfant` ; } } $parent = nouveau Enfant(); $parent -> bar(); ?> Sortie :
Classe parent : 
Ici, la méthode de la classe parent est exécutée car l`instruction self représente la classe, nous pouvons donc voir que la méthode de la classe principale est uniquement une méthode de la classe mère. Opérateur $this : $this is, comme le suggère le signe ` $`, est un objet. $this représente l`objet de classe actuel. Il est utilisé pour accéder aux membres non statiques d`une classe. Syntaxe :
$that-> $non_static_member ; 
Exemple 1 : Ceci est un exemple de base qui montre l`utilisation de l`opérateur $this. classe GFG privé $non_static_member = "GeeksForGeeks" ; fonction __ construct( ) { echo $this -> $non_static_member  ; // accès à la variable non statique } }nouveau GFG(); ?> Sortie :
GeeksForGeeks 
Exemple 2 : Cet exemple est une démonstration du comportement polymorphe en php utilisant self. classe GFG fonction prnt() { echo `Classe Parent` ; } fonction bar ( ) { $this -> prnt(); } } classe Enfant étend GFG {/code> fonction prnt() { echo `Classe enfant` ; } } $parent = nouveau Enfant() ; $parent -> bar(); ?> Sortie :
Classe enfant 
Il n`y a aucune référence à une classe ici, et l`objet qui pointe vers la classe enfant appelle la méthode définie dans la classe enfant. Ceci est un exemple de polymorphisme dynamique en PHP.