PHP8支持通过new class 来实例化一个匿名类。所谓匿名类,就是指没有名称的类,只能在创建时使用new语句来声明它们。
匿名类是一种没有命名的即时类,可以用于简单的对象封装和实现接口。
以下是PHP 8中匿名类的基本语法示例:
$object = new class { // 类的属性和方法
};
在上面的示例中,new class
关键字后面跟着一对花括号,花括号内部是类的定义,包括属性和方法。创建匿名类对象后,可以使用该对象访问类的属性和方法。
下面是一个更具体的使用匿名类的示例代码:
<?php/*********************匿名函数************************/ $f = function(){echo "这是匿名函数";};$f();echo "<br />";class Fruit{public $num;public function __construct($key){$this->num = $key;}public function getValue($sum):int{return $this->num+$sum;}}$fruit= new Fruit (666);echo $fruit ->getValue(888);echo "<br />";/****************************匿名类***********************/echo "这是匿名类<br/>";echo (new class(66) extends Fruit{})->getValue(99);echo "<br />"; echo (new class(88) extends Fruit{})->getValue(168);
?>
以上代码在php8中的运行结果为:
这是匿名函数
1554
这是匿名类
165
256
以上就是PHP8的匿名类的讲解。