PHP 什么类型的对象是匿名函数?
PHP What type of object is an anonymous function?
我知道匿名函数是对象,但它们是什么类型的对象?例如
function test() {
return function() {
return "Hello World!";
};
}
$test = test();
print gettype($test())
结果
object
我试过查看它是否是闭包实例,但不是。
if($test() instanceof \Closure) {
print "Hello World!";
}
那么它继承自什么对象,我如何在 PHP 中找到它?
这样的函数确实属于"Closure"类型:
<?php
var_dump(function() {
return "Hello World!";
});
输出为:
object(Closure)#1 (0) {
}
而且类型比较也提供了预期的结果:
var_dump(function() {
return "Hello World!";
} instanceof \Closure);
这将导致:
bool(true)
我知道匿名函数是对象,但它们是什么类型的对象?例如
function test() {
return function() {
return "Hello World!";
};
}
$test = test();
print gettype($test())
结果
object
我试过查看它是否是闭包实例,但不是。
if($test() instanceof \Closure) {
print "Hello World!";
}
那么它继承自什么对象,我如何在 PHP 中找到它?
这样的函数确实属于"Closure"类型:
<?php
var_dump(function() {
return "Hello World!";
});
输出为:
object(Closure)#1 (0) {
}
而且类型比较也提供了预期的结果:
var_dump(function() {
return "Hello World!";
} instanceof \Closure);
这将导致:
bool(true)