1

我正在和一个小组的一些朋友谈论闭包(来自 PHP 5.3)。

当我做 avar_dump(function(){});结果是object(Closure). 有人说:但闭包不是对象。

我了解当匿名函数实现闭包类时,结果需要是一个对象,仅此而已或不同。

匿名函数是对象吗?

更新 我已阅读“匿名函数是使用闭包类实现的。” (http://php.net/manual/en/functions.anonymous.php),所以,我认为这是一个对象。

4

2 回答 2

2

手册中措辞强硬:

在 PHP 5.3 中实现的匿名函数产生这种类型的对象 [Closure]。这个事实曾经被认为是一个实现细节,但现在可以依赖它。

http://www.php.net/manual/en/class.closure.php

需要明确的是,答案是:是的,它们是对象。

于 2012-07-14T20:57:58.363 回答
0

你能详细说明你想做什么吗?在 PHPClosure中是 a final class,所以从技术上讲是的,它是一个对象。

于 2012-07-14T20:58:22.470 回答