如何检测匿名类的实例?

时间:2016-06-08 10:45:15

标签: php instance anonymous-class

自PHP7起,我们有anonymous classes

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

2 个答案:

答案 0 :(得分:9)

使用Reflection

$instance = new class {};

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

修改

当然,鉴于您必须为匿名类运行PHP7,请将其包装成单行

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

答案 1 :(得分:0)

你可以尝试这个:Here

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

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

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

输出:

  

布尔(假)   布尔(真)