Maison  >  Article  >  développement back-end  >  La différence entre les constantes, les propriétés statiques et les propriétés non statiques en PHP

La différence entre les constantes, les propriétés statiques et les propriétés non statiques en PHP

墨辰丷
墨辰丷original
2018-05-24 10:00:161660parcourir

Cet article présente principalement la différence et l'introduction des constantes, des attributs statiques et des attributs non statiques dans les classes PHP. Les amis dans le besoin peuvent s'y référer

1 Constantes de classe : toujours dans un. classe Les valeurs qui restent inchangées sont définies comme des constantes

Les constantes d'une classe ne peuvent pas utiliser de modificateurs de restriction d'accès. Elles sont publiques, héritables et peuvent être remplacées par des sous-classes. accéder aux constantes d'une classe : : , accessible en utilisant le nom de la classe ou une instance de la classe. Comme il s'agit d'une constante, le nom ne peut pas utiliser le symbole $.

peut définir une valeur qui reste toujours inchangée. dans la classe comme une 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, un attribut de classe, le résultat d'une opération mathématique ou 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'; L'accès syntaxique est ::, vous pouvez accéder à

sans instanciation. Syntaxe : public static $my_static = 'similar constant';
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;;

3. Attributs non statiques : Une variable normale, accessible après instanciation, à l'aide du 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();

Méthode PHP pour obtenir la liste des constantes, des attributs , et les méthodes dans une classe

class Myclass{
 public $normal_val = &#39;非静态属性&#39;;

 //类内部访问
 public function test(){
  return $this->normal_val ;
 } 
}
//类外部访问
$obj = new Myclass(); 
echo $obj->normal_val;
echo $obj->test();

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile pour l'étude de tout le monde.

Recommandations associées :
$r = new ReflectionClass($this); 
Zend_Debug::dump($r->getConstants(), "Constants"); 
Zend_Debug::dump($r->getProperties(), "Properties"); 
Zend_Debug::dump($r->getMethods(), "Methods");

PHP

Méthodes de définition de chaînes et leurs différences


Un résumé de la définition et de l'utilisation de la fonction php substr

Un résumé de la définition et de l'utilisation de la fonction php éclater en 2017


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