$this n’est pas de la classe courante
<?php
class a {
function foo() {
echo __CLASS__; // a
print get_class($this); // a or b
}
}
class b extends a {}
(new b)->foo();
$this est une pseudo-variable qui représente l’objet courant de l’objet appelant (dixit le manuel) : elle est souvent présentée comme représentant un objet de la classe courante. C’est généralement le cas.
Pourtant, il est possible que cet objet soit une instance d’une autre classe. Cela se produit avec un enfant de la classe, notamment lorsque cet enfant n’a pas défini une méthode présente dans le parent. Le mécanisme de repli utilisera la classe parente.
En fin de compte, cela reste compatible.
See Also
- Class
- Where is my class? [Try me]
PHP Features
Last updated: 11 October 2026