我想知道为什么这不起作用:(PHP致命错误:调用未定义的方法stdClass :: y())
$x=new stdClass;
$x->y=function(){return 'hi';};
echo $x->y();
但这有效:
$x=new stdClass;
$x->y=function(){return 'hi';};
$y=$x->y;
echo $y();
echo($x-> y)();还返回Parse错误:语法错误,意外'(‘,期待’,’或’;’无效.那么,在没有中间变量的情况下调用y闭包属性的正确方法是什么.
解决方法:
因为在PHP中,类可以具有函数和属性,并且函数和属性可以具有相同的名称.
所以当你打电话时:
$x->y();