La méthode statique php fait référence à l'utilisation du mot-clé static dans php pour définir des méthodes et des propriétés statiques. Static peut également être utilisée pour définir des variables statiques et une liaison statique tardive. Sa syntaxe d'utilisation est telle que "public static $my_static =". 'foo';".
Recommandé : "Tutoriel PHP"
Mot-clé statique (statique)
Cette page explique comment utiliser le mot-clé static pour définir des méthodes et propriétés statiques. static peut également être utilisé pour définir des variables statiques et une liaison statique tardive.
Déclarer des attributs ou des méthodes de classe comme statiques permet un accès direct sans instancier la classe. Les propriétés statiques ne sont pas accessibles via un objet d'une classe qui a été instanciée (mais les méthodes statiques le peuvent).
Pour des raisons de compatibilité avec PHP 4, si aucun contrôle d'accès n'est spécifié, les propriétés et méthodes sont par défaut publiques.
Étant donné que les méthodes statiques ne nécessitent pas l'appel d'un objet, la pseudo variable $this n'est pas disponible dans les méthodes statiques.
Les propriétés statiques ne sont pas accessibles aux objets via l'opérateur ->
L'appel statique d'une méthode non statique entraînera une erreur de niveau E_STRICT.
Comme toutes les autres variables statiques PHP, les propriétés statiques ne peuvent être initialisées qu'avec des littéraux ou des constantes, pas des expressions. Ainsi, une propriété statique peut être initialisée avec un entier ou un tableau, mais elle ne peut pas être initialisée avec une autre valeur de retour de variable ou de fonction, ni pointer vers un objet.
Depuis PHP 5.3.0, vous pouvez utiliser une variable pour appeler dynamiquement une classe. Mais la valeur de cette variable ne peut pas être les mots-clés self, parent ou static.
Exemple n°1 Exemple de propriété statique
<?php class Foo { public static $my_static = 'foo'; public function staticValue() { return self::$my_static; } } class Bar extends Foo { public function fooStatic() { return parent::$my_static; } } print Foo::$my_static . "\n"; $foo = new Foo(); print $foo->staticValue() . "\n"; print $foo->my_static . "\n"; // Undefined "Property" my_static print $foo::$my_static . "\n"; $classname = 'Foo'; print $classname::$my_static . "\n"; // As of PHP 5.3.0 print Bar::$my_static . "\n"; $bar = new Bar(); print $bar->fooStatic() . "\n"; ?> </programlisting> </example> <example> <title>静态方法示例</title> <programlisting role="php"> <![CDATA[ <?php class Foo { public static function aStaticMethod() { // ... } } Foo::aStaticMethod(); $classname = 'Foo'; $classname::aStaticMethod(); // 自 PHP 5.3.0 起 ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!