如何检测匿名 class 的实例?

How to detect an instance of an anonymous class?

自 PHP7 以来,我们有 anonymous classes

我们如何知道 $instance 是否是匿名 class 的实例?

使用Reflection

$instance = new class {};

$testInstance = new ReflectionClass($instance);
var_dump($testInstance->isAnonymous());

编辑

当然,鉴于你必须是 运行 PHP7 才能匿名 类,所以把它包成一行

var_dump((new ReflectionClass($instance))->isAnonymous());

你可以试试这个:Here

<?php 
class TestClass {}
$anonClass = new class {};

$normalClass = new ReflectionClass('TestClass');
$anonClass  = new ReflectionClass($anonClass);

var_dump($normalClass->isAnonymous());
var_dump($anonClass->isAnonymous());
?>

输出:

bool(false) bool(true)