Accès à une classe

L'accès statique est un appel à une propriété de la classe (de la description de l'objet) sans recours à une instance. Il n'y a donc plus d'appel à l'objet courant ($this).

La syntaxe utilise l'opérateur :: préfixé du nom de la classe et suffixé de la propriété à appeler.

<?php
class Voiture
{
	$var = "resultat";
	private $var2;

	function methodeLocale()
	{
		return $this->var2; // attribut uniquement disponible dans un contexte d'instance
	}

	function methodeStatique()
  	{
    	echo "statique";
  	}
}

echo Voiture::methodeStatique(); // resultat
echo Voiture::methodeLocale(); // erreur car fait appel à un attribut
			// uniquement disponible dans un contexte d'instance

$v = new Voiture();//
echo voiture->methodeLocale(); // var2

?>
Il est possible de déclarer explicitement le caractère statique d'un attribut ou d'un méthode à l'aide du mot clé static.
<?php
class Voiture
{
	static $var = "resultat";

	static function methodeStatique()
	{
		echo "statique";
	}
}

echo Voiture::methodeStatique(); // resultat
echo Voiture::$var; // resultat

?>
Pour faire appel à une autre propriété (attribut ou ressource) statique de la même classe, on utilisera le mot-clé self.
<?php
class Voiture
{
	static $var = "resultat";

	static function methodeLocale()
  	{
    	echo self::$var;
  	}
}
?>