【发布时间】:2021-05-07 03:04:06
【问题描述】:
从 PHP7 开始,似乎可以像这样直接调用匿名函数:
(function () { echo 'Hello!'; })();
我在一些开源代码库中偶然发现了这一点。我试图在 PHP 文档(包括变更日志和 RFC)中找到任何关于此的提示。似乎没有,似乎完全没有记录。
以这种方式调用函数是否安全,或者我应该像过去那样使用call_user_func();?这是否记录在某处?
我知道这些问题和答案:
他们只是说它应该起作用以及它是如何起作用的。我知道这个。我的问题不是关于“如何”!这是关于这是否实际上是一个官方的 PHP 功能,或者它是否只是“偶然”工作(因为它似乎没有记录)。
【问题讨论】:
-
@ThomasSablik 不,它只是将其声明为(假设的)事实(我已经看到了这个问题)。没有任何官方文档的链接。我不喜欢依赖未记录的功能。
-
我不确定它是否明确记录在任何编程标准中,但许多语言都支持它。那不是特例。它是语言语法的一部分。如果您问这个问题,请说明为什么它不应该工作。
-
您如何定义“安全”?为什么使用它不“安全”?
-
是的,它是documented - 新添加的通用语法
标签: php