Une méthode statique ne peut pas appeler une méthode non statique
<?php
class X {
static function foo() {
self::goo();
}
function goo() { }
}
(new x)->foo();
Il est connu qu’une méthode non statique peut appeler une méthode statique. Il est moins connu qu’une méthode statique ne peut pas appeler une méthode non statique, même si la syntaxe statique est possible.
Une méthode non statique a besoin d’une valeur pour $this, qu’un appel statique ne fournit pas.
See Also
- cannot call static [Try me]
PHP Error Messages
PHP Features
Last updated: 11 October 2026