static est un mot-clé intégré à php. Nous pouvons utiliser le mot-clé static pour définir des méthodes et des propriétés statiques, et pouvons également être utilisés pour définir des variables statiques et une liaison statique tardive.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.4, ordinateur DELL G3
Que signifie php static
static est un mot-clé intégré en PHP.
Mot-clé statique
Conseils
Cette page explique comment utiliser le mot-clé statique pour définir des méthodes et des propriétés statiques. static peut également être utilisé pour définir des variables statiques et une liaison statique tardive. Voir la page ci-dessus pour voir comment la statique y est utilisée.
Déclarer un attribut ou une méthode de classe comme statique vous permet d'y accéder directement sans instancier la classe. Accessible de manière statique dans un objet de classe instancié.
Méthodes statiques
Étant donné que les méthodes statiques n'ont pas besoin d'être appelées via des objets, la pseudo variable $this n'est pas disponible dans les méthodes statiques.
Avertissement
L'appel statique d'une méthode non statique générera une erreur.
Avant PHP 8.0.0, l'appel statique d'une méthode non statique était obsolète et entraînait un avertissement de niveau E_DEPRECATED.
Exemple n°1 Exemple de méthode statique
<?php class Foo { public static function aStaticMethod() { // ... } } Foo::aStaticMethod(); $classname = 'Foo'; $classname::aStaticMethod(); ?>
Propriétés statiques
Les propriétés statiques sont accessibles à l'aide de l'opérateur de résolution de portée ( :: ) et ne sont pas accessibles via l'opérateur d'objet ( -> ).
Il est possible de faire référence à une classe via une variable, mais la valeur de cette variable ne peut pas être un mot réservé (comme self, parent et static)
Exemple #2 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"; // 未定义的 "属性" my_static print $foo::$my_static . "\n"; $classname = 'Foo'; print $classname::$my_static . "\n"; print Bar::$my_static . "\n"; $bar = new Bar(); print $bar->fooStatic() . "\n"; ?>
Sortie de la routine ci-dessus en PHP 8 Similaire à :
foo foo
Remarque : accès à la propriété statique Foo::$my_static comme non statique dans /in/V0Rvv à la ligne 23
Avertissement : propriété non définie : Foo::$my_static dans /in/V0Rvv à la ligne 23
foo foo foo foo
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!