gpt4 book ai didi

php - stdClass 和匿名函数

转载 作者:可可西里 更新时间:2023-11-01 00:21:56 25 4
gpt4 key购买 nike

我可以用匿名函数做到这一点

 $func = function() {
return "Hello World";
};
var_dump($func());

但是,我不能这样做

$namespace->func = function() {
return "Hello World";
};
var_dump($namespace->func());

我会得到这个错误

Call to undefined method stdClass

到目前为止我发现的解决方法是使用另一个变量

$temp = $namespace->func;
var_dump($temp());

有没有一种方法可以在一行中完成?

最佳答案

您可以使用 __invoke() :

// declare $namespace to be conform to strict standards
$namespace = new StdClass();

$namespace->func = function() {
return "Hello World";
};
var_dump($namespace->func->__invoke());

那是因为即使存在闭包属性func,PHP 也不会检查它是否是闭包并调用它。

关于php - stdClass 和匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18215167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com