PHP中匿名类如何使用
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,PHP中匿名类如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。PHP匿名类的用法在PHP7之后,PHP中加入了匿名类的特性。匿名类
千家信息网最后更新 2026年11月02日PHP中匿名类如何使用
PHP中匿名类如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
PHP匿名类的用法
在PHP7之后,PHP中加入了匿名类的特性。匿名类和匿名方法让PHP成为了更现代化的语言,也让我们的代码开发工作越来越方便。我们先来看看匿名类的简单使用。
// 直接定义
$objA = new class
{
public function getName()
{
echo "I'm objA";
}
};
$objA->getName();
// 方法中返回
function testA()
{
return new class
{
public function getName()
{
echo "I'm testA's obj";
}
};
}
$objB = testA();
$objB->getName();
// 作为参数
function testB($testBobj)
{
echo $testBobj->getName();
}
testB(new class{
public function getName()
{
echo "I'm testB's obj";
}
});
一次性给出了三种匿名类的使用方法。匿名类可以直接定义给变量,可以在方法中使用return返回,也可以当做参数传递给方法内部。其实,匿名类就像一个没有事先定义的类,而在定义的时候直接就进行了实例化。
// 继承、接口、访问控制等
class A
{
public $propA = 'A';
public function getProp()
{
echo $this->propA;
}
}
trait B
{
public function getName()
{
echo 'trait B';
}
}
interface C
{
public function show();
}
$p4 = 'b4';
$objC = new class($p4) extends A implements C
{
use B;
private $prop1 = 'b1';
protected $prop2 = 'b2';
public $prop3 = 'b3';
public function __construct($prop4)
{
echo $prop4;
}
public function getProp()
{
parent::getProp();
echo $this->prop1, '===', $this->prop2, '===', $this->prop3, '===', $this->propA;
$this->getName();
$this->show();
}
public function show()
{
echo 'show';
}
};
$objC->getProp();
匿名类和普通类一样,可以继承其他类,可以实现接口,当然也包括各种访问控制的能力。也就是说,匿名类在使用方面和普通类并没有什么不同。但如果用get_class()获取类名将是系统自动生成的类名。相同的匿名类返回的名称当然也是相同的。
// 匿名类的名称是通过引擎赋予的
var_dump(get_class($objC));
// 声明的同一个匿名类,所创建的对象都是这个类的实例
var_dump(get_class(testA()) == get_class(testA()));
那么匿名类中的静态成员呢?当然也和普通类一样,静态成员是属于类而不是实例的。
// 静态变量
function testD()
{
return new class{
public static $name;
};
}
$objD1 = testD();
$objD1::$name = 'objD1';
$objD2 = testD();
$objD2::$name = 'objD2';
echo $objD1::$name;
看完上述内容,你们掌握PHP中匿名类如何使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
方法
普通
实例
静态
相同
内容
参数
变量
名称
成员
接口
更多
问题
控制
不同
束手无策
为此
一次性
也就是
也就是说
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技有限公司
哈尔滨大商圈互联网科技有限公司
互联网科技公司经营范围
上海互联网科技有限公司
互联网与未来科技
奇酷互联网络科技
上海喔噻互联网科技
互联网科技logo设计
成都狮子座互联网科技
国外互联网科技网站
青岛中康互联网医疗科技有限公司
栖莱科技互联网股份有限公司
深圳育鹏互联网科技有限公司招聘
科技类公司包括互联网吗
乌鲁木齐新华智原互联网科技学校
从那以后互联网科技有限公司
东营紫格互联网科技
萌小萌互联网科技河南有限公司
万物互联网智能科技
平安好医生打造互联网科技医疗
互联网科技产业
互联网科技金融公司
安徽鑫晟辉互联网科技
九亚互联网科技
恒生科技互联网指数分析
青海省互联网新科技
科技赋能互联网健康
上海创道互联网络科技有限公司
亚光科技低轨卫星互联网
高科技和互联网的现代国家