如何检测匿名 class 的实例?
How to detect an instance of an anonymous class?
自 PHP7 以来,我们有 anonymous classes。
我们如何知道 $instance
是否是匿名 class 的实例?
$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)
自 PHP7 以来,我们有 anonymous classes。
我们如何知道 $instance
是否是匿名 class 的实例?
$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)