我正在和一个小组的一些朋友谈论闭包(来自 PHP 5.3)。
当我做 avar_dump(function(){});
结果是object(Closure)
. 有人说:但闭包不是对象。
我了解当匿名函数实现闭包类时,结果需要是一个对象,仅此而已或不同。
匿名函数是对象吗?
更新 我已阅读“匿名函数是使用闭包类实现的。” (http://php.net/manual/en/functions.anonymous.php),所以,我认为这是一个对象。
手册中措辞强硬:
在 PHP 5.3 中实现的匿名函数产生这种类型的对象 [Closure]。这个事实曾经被认为是一个实现细节,但现在可以依赖它。
http://www.php.net/manual/en/class.closure.php
需要明确的是,答案是:是的,它们是对象。
你能详细说明你想做什么吗?在 PHPClosure
中是 a final class
,所以从技术上讲是的,它是一个对象。