Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Obtenir $this dans une méthode statique

<?php

class X {
    function foo() {
        print_r($this);
    }
    
    function bar() {
        self::foo();
    }
    
}
?>

Une méthode statique n’a pas accès à l’objet courant, par définition.

Il est également possible d’appeler statiquement n’importe quelle méthode au sein d’une classe.

Mais lorsqu’une méthode statique appelle une méthode non statique, une erreur est produite : Non-static method x::foo() cannot be called statically.

Enfin, appeler statiquement une méthode non statique définit tout de même $this dans la méthode cible. Le caractère statique est une propriété de la méthode, pas de l’appel.

See Also

PHP Error Messages

PHP Features

Last updated: 11 October 2026