Maison >développement back-end >tutoriel php >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

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

伊谢尔伦
伊谢尔伦original
2017-06-29 09:27:171358parcourir

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;;

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();

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!

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