php 8引入了一种新的特性,称为类常量(class Constants)。类常量是在类中定义的常量,类似于全局常量,但作用域仅限于定义它们的类。
在PHP 8中,类常量的作用域被限制在定义它们的类中。这意味着只有类的成员方法或静态方法才能访问类常量。在其他上下文中,如类的实例方法或全局范围内,类常量将不可见。
在PHP8中不仅可以定义变量,还可以定义常量。下面是定义变量和定义常量的案例:
- class Fruit {
- const GOODS_NAME="葡萄"; //定义常量GOODS_NAME
- public $name; //定义变量用来存储商品名称
- function getFruit ($name){ //定义成员方法
- $this->name=$name; //调用本类的成员变量
- return $this->name;
- }
- }
- $f=new Fruit(); //类的实例化
- echo $f->getFruit ("苹果"); //调用方法
- echo "
"; - echo Fruit::GOODS_NAME; //输出常量GOODS_NAME
- ?>
常量的输出和变量的输出是 不一样的,常量不需要实例化对象,直接使用类名::类常量名调用即可。
以上代码在PHP8中的运行结果如下:
- 苹果
- 葡萄
到此为止,在PHP8中,类常量中的 定义变量和定义常量有关的知识就讲解完毕了。