【问题标题】:Uncaught Error: Call to undefined method stdClass:: - Defining Function in Object [duplicate]未捕获的错误:调用未定义的方法 stdClass:: - 在对象中定义函数 [重复]
【发布时间】:2021-06-04 07:21:09
【问题描述】:

我使用 PHP 创建了一个内联对象作为我的 SQL 表的模型,当我尝试将函数设置为对象值时,我收到了这个错误。我简化了代码以显示错误:

PHP

$test = (object) [
    'autoValue'=>function($name) {
        return $name.' in table.';
    }
];

echo $test->autoValue('Rick');

我不断收到错误:

致命错误:未捕获的错误:调用未定义的方法 stdClass::autoValue() in

我需要在对象中运行一个存储在autoValue中的函数,我不能用类来设置对象。

我该怎么做?

【问题讨论】:

    标签: php


    【解决方案1】:

    你应该使用( )围绕$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.
    

    【讨论】:

      猜你喜欢
      • 2019-02-12
      • 2019-07-19
      • 1970-01-01
      • 2012-04-02
      • 2016-06-13
      • 2016-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多