Vous pouvez définir des valeurs qui restent inchangées dans une classe comme constantes. 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).
Exemple n°1 Définir et utiliser une constante de classe
<?php class MyClass { const constant = 'constant value'; function showConstant() { echo self::constant . "\n"; } } echo MyClass::constant . "\n"; $classname = "MyClass"; echo $classname::constant . "\n"; // 自 5.3.0 起 $class = new MyClass(); $class->showConstant(); echo $class::constant."\n"; // 自 PHP 5.3.0 起 ?>
Exemple n°2 Exemple de données statiques
<?php class foo { // 自 PHP 5.3.0 起 const bar = <<<'EOT' bar EOT; } ?>
Contrairement à heredoc, nowdoc peut être utilisé pour n'importe quelle donnée statique milieu.
Remarque :
La prise en charge de Nowdoc a été ajoutée dans PHP 5.3.0 .
Remarque : contrairement à d'autres langages de programmation orientés objet, en PHP, une classe ne peut pas utiliser le modificateur final pour une variable de propriété.
Si vous souhaitez déclarer une propriété comme constante, vous pouvez utiliser le mot-clé const, et il n'est pas nécessaire d'utiliser un signe dollar comme préfixe nom de la variable, ni avez-vous besoin d'utiliser le modificateur d'autorisation d'accès. Constante signifie que même si la variable est accessible, sa valeur ne peut pas être modifiée. Par exemple, le code suivant déclare l'attribut constant con_var :
<?php class Foo{ const con_var="常量属性的值不能被修改<br />"; public function method_a(){ echo (self::con_var); } } echo(Foo::con_var); $myFoo=new Foo(); echo ($myFoo->method_a()); ?>
Les attributs constants ne sont pas accessibles à l'aide d'objets, mais ne sont accessibles qu'à l'aide de classes. Dans le corps de la classe, vous pouvez utiliser "self::constant. name", dans le corps de la classe. Vous pouvez utiliser "class name::constant name".
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!