Bonjour à tous,

Il semblerait que PHP (5.x) considère les méthodes de classes comme static par défaut:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php 
class test {
	public function nonStatic($appel) {
		echo("Je ne dois pas etre static $appel\n");
	}
}
 
// appel static d'une fonction non static : devrait planter
test::nonStatic(1);
 
// appel non static d'une fonction non déclarée static
$toto = new test();
$toto->nonStatic(2);
?>

résultat:
Je ne dois pas etre static 1
Je ne dois pas etre static 2

Le premier appel ne devrait pas marcher car la méthode n'est pas static, pourtant ça marche!
Existe-t-il un moyen de déclarer une méthode explicitement non static?

merci de votre aide,
François