Maison >développement back-end >tutoriel php >Analyse de l'utilisation des mots-clés static et const en php

Analyse de l'utilisation des mots-clés static et const en php

高洛峰
高洛峰original
2017-01-06 14:04:221215parcourir

Les exemples de cet article décrivent l'utilisation de mots-clés static et const en php. Partagez-le avec tout le monde pour référence, les détails sont les suivants :

Les propriétés membres et les fonctions membres décrites par le mot-clé static dans la classe sont toutes statiques.

Les membres statiques peuvent restreindre l'accès externe, car les membres statiques appartiennent à la classe, et non à une instance d'objet.

Du point de vue de la mémoire, l'objet est placé dans la « mémoire tas », la référence à l'objet est placée dans la « mémoire de pile » et les membres statiques sont placés dans le segment statique d'initialisation ajouté lors du chargement. Peut être partagé par tous les objets en mémoire. Comme le montre la figure ci-dessous :

Analyse de lutilisation des mots-clés static et const en php

<?php
class Person{
 public static $myCountry = "中国";
 public static function say(){
  echo "我的祖国是:".self::$myCountry."<br>";
 }
}
//输出静态属性
echo Person::$myCountry."<br>";
//调用静态方法
Person::say();
//修改静态属性
Person::$myCountry = "中国-江苏";
echo Person::$myCountry."<br>";
?>

Le résultat de sortie est :

中国
我的祖国是:中国
中国-江苏

Les méthodes statiques d'une classe ne peuvent accéder qu'aux propriétés statiques de la classe. Les méthodes statiques d'une classe ne peuvent pas accéder aux membres non statiques de la classe. Nous utilisons self pour accéder aux propriétés statiques d'une classe. self est similaire à ceci, sauf que self représente la classe où se trouve la méthode statique, et ceci est similaire, sauf que self représente la classe où se trouve la méthode statique, et cela fait référence à un pointeur, qui représente l'objet qui appelle cette méthode. Les méthodes statiques ne sont pas appelées avec des objets, il n'y a donc pas de référence. Il n’y a aucune référence à cela. Sans cela, il n'y a aucun moyen d'appeler d'autres propriétés membres de la classe.

const est un mot-clé qui définit des constantes. Const est souvent utilisé pour définir des constantes dans les classes. La méthode d'accès aux attributs des membres modifiés avec "const" est similaire à la méthode d'accès aux membres modifiés avec "static". Ils utilisent également le "nom de classe" et le mot-clé "self" dans la méthode. Mais vous n'avez pas besoin d'utiliser le symbole « $ » et vous ne pouvez pas utiliser d'objets pour y accéder.

<?php
class MyClass{
 const constant = &#39;constant value&#39;;
 function showConstant(){
  //方法中调用常量,没有$
  echo self::constant."<br>";
 }
}
//类直接调用,没有$
echo MyClass::constant."<br>";
$class = new MyClass();
$class ->showConstant();
?>

J'espère que cet article sera utile à tout le monde dans la programmation PHP.

Pour plus d'articles liés à l'analyse de l'utilisation des mots-clés static et const en PHP, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn