[英]How to detect an instance of an anonymous class?
Since PHP7, we have anonymous classes . 从PHP7开始,我们有匿名类 。
How can we know if an $instance
is an instance of an anonymous class? 我们如何知道
$instance
是否是匿名类的实例?
Using Reflection 使用反射
$instance = new class {};
$testInstance = new ReflectionClass($instance);
var_dump($testInstance->isAnonymous());
EDIT 编辑
Of course, given that you must be running PHP7 for anonymous classes anyway, wrap it up into a one-liner 当然,鉴于您必须为匿名类运行PHP7,请将其包装成一行
var_dump((new ReflectionClass($instance))->isAnonymous());
You can try this one: Here 你可以尝试这个: 这里
<?php
class TestClass {}
$anonClass = new class {};
$normalClass = new ReflectionClass('TestClass');
$anonClass = new ReflectionClass($anonClass);
var_dump($normalClass->isAnonymous());
var_dump($anonClass->isAnonymous());
?>
Output: 输出:
bool(false) bool(true)
bool(假)bool(true)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.