Explication détaillée des différences entre les constantes de classe PHP, les propriétés statiques et les propriétés non statiques

伊谢尔伦
Libérer: 2023-03-11 21:48:02
original
1299 Les gens l'ont consulté

1. Classe Constante : Une valeur qui reste toujours inchangée dans une classe est définie comme une constante

Les constantes de la classe ne peuvent pas utiliser de modificateurs de restriction d'accès, il est public, peut être hérité et peut être remplacé par des sous-classes. Vous devez utiliser des doubles deux-points :: pour accéder aux constantes de la classe. Vous pouvez utiliser le nom de la classe ou l'instance de la classe. accès. Parce qu'il s'agit d'une constante, le nom ne peut pas être utilisé pour représenter des variables. Le symbole $.

peut définir une valeur qui reste toujours inchangée dans la classe comme constante. Il n'est pas nécessaire d'utiliser le symbole $ lors de la définition et de l'utilisation de constantes.

La valeur d'une constante doit être une valeur fixe et ne peut pas être une variable, une classe attribut, le résultat d'une opération mathématique ou d'un appel de fonction.

Les constantes peuvent également être définies dans les interfaces. Voir la section interface de la documentation pour plus d'exemples.

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 un mot-clé (comme self, parent ou static).

Syntaxe : const constant= 'constant'; : , accessible sans instanciation

class Myclass{
 const constant = '常量';

 //类内部调用
 public function test(){
  echo self::constant.&#39;<br>&#39;;
 } 
}
Myclass::test();
//类外部访问
echo Myclass::constant.&#39;<br>&#39;; //方法一

$obj = new Myclass();  //方法二
echo $obj::constant.&#39;<br>&#39;;
Copier après la connexion

Syntaxe : public static $my_static = 'similar constant' 3. Propriétés non statiques : une variable normale est accessible après instanciation, utilisez le symbole ->

Syntaxe : public $my_val = 'Variable normale'
class Myclass{
 public static $static_val = &#39;静态属性&#39;;
 //类内部访问
 public function test(){
  return self::$static_val.&#39;<br>&#39;;
 } 
}

//类外部访问
// echo Myclass::test();
echo Myclass::$static_val;  //方法一
$obj = new Myclass();    //方法二
echo $obj::$static_val;
echo $obj->test();
Copier après la connexion

PHP récupère les constantes dans les méthodes de classe, d'attributs et de liste de méthodes

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!