php - 未捕获的错误:调用未定义的方法 stdClass:: - 在对象中定义函数
问题描述
我使用 PHP 创建了一个内联对象作为我的 SQL 表的模型,当我尝试将函数设置为对象值时,我收到此错误。我简化了代码以显示错误:
PHP
$test = (object) [
'autoValue'=>function($name) {
return $name.' in table.';
}
];
echo $test->autoValue('Rick');
我不断收到错误:
致命错误:未捕获的错误:调用未定义的方法 stdClass::autoValue() in
我需要运行存储在对象中的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.
推荐阅读
- laravel - laravel 6.0 版不包含资源/js 文件夹内的 vuejs 文件 assets/components,App.vue。这就是为什么以及如何解决它?
- node.js - 如何在 Windows IIS 中托管 React.js 和 Node.js 应用程序?
- r - R 可视化:地图上的合理排斥点(蜂群?)
- java - 我对 VectorAssets 有一些问题
- typescript - 打字稿在vscode中找不到名称'test'
- ruby-on-rails - 如何从 ruby on rails 和 nodejs 中的 csv 文件中读取第 2 表
- python - 如何根据总字符将 Discord 字段拆分为 x 次?
- computer-science - 使用保护位 + 舍入将浮点数相加
- flutter - 如何更改独特 RaisedButton 的颜色?
- c# - 如何将我的数据库(phpmyadmin)中的值统一显示到下拉框中?