我创建了一个与PHP内联的对象,作为SQL表的模型,当我试图将函数设置为对象值时,我得到了这个错误。我简化了代码以显示错误:
PHP
$test = (object) [
'autoValue'=>function($name) {
return $name.' in table.';
}
];
echo $test->autoValue('Rick');
我一直收到错误:
致命错误:Uncaught error: Call to undefined methodstdClass: autoValue ()
我需要运行一个存储在autoValue中的函数
我该怎么做?
您应该使用( )
:
$test->autoValue
周围创建一个组echo ($test->autoValue)('Rick'); // Rick in table.
完整示例:
$test = (object) [
'autoValue'=>function($name) {
return $name.' in table.';
}
];
echo ($test->autoValue)('Rick'); // Rick in table.
或者使用变量
$callback = $test->autoValue;
echo $callback('Rick'); // Rick in table.