【问题标题】:var_dump for a function in a class return Fatal error: Call to undefined function类中函数的 var_dump 返回致命错误:调用未定义函数
【发布时间】:2013-12-21 04:03:28
【问题描述】:

我尝试使用类中的函数来操作 var dump,但失败了。 我收到了第二个 var 转储的错误。第一个转储正确地显示了带有数组的 json 结果。这是错误:

Fatal error: Call to undefined function updateValue() in ...

我不明白我在实例如何与它创建的类中的函数一起工作方面出错了。难道他们不认为能够在类中执行函数,因为这是与它直接相关的地方吗?

代码:

class User {
private $dbh;
public function __construct($host,$user,$pass,$db)  {   ...};
public function getQs(){            ...};
public function updateValue($user){     ...};
}
$user = new stdClass;
$userParams = array('id' => 1, 'field' => 'questTitle', 'newvalue' => "Baaaaa");
$user = json_encode(array("user"=>$userParams));
var_dump($user);
$user = json_decode($user);
$userN=new User(...); 
$dump=$userN.updateValue($user);
var_dump($dump);

注意:... 用于隐藏敏感信息,它们是有效的实际代码/变量。

请帮忙。谢谢

【问题讨论】:

    标签: php class pdo var-dump


    【解决方案1】:

    你需要使用->而不是.来调用成员函数。

    $dump=$userN->updateValue($user);
    

    . as deceze 提到的是字符串连接运算符。所以这段代码

    $dump = $userN.updateValue($user);
    

    等于

    $dump = $userN;
    $dump .= updateValue($user);
    

    【讨论】:

    • 你能告诉我什么时候应该使用 .访问?是 。访问变量而不是函数?
    • 在 OOP 中,您总是使用 ->::(用于静态属性/方法)
    • @Chen . 在 PHP 中是 字符串连接运算符,仅此而已。它与对象无关。
    • 谢谢...我想我有点纠结于我在 javascript 中的想法。谢谢大家的解释!
    • @Chen 欢迎您。我发现自己正在编写无效的 JS,因为我与 . 而不是 + 连接。如果此答案帮助您解决问题,请考虑将其标记为已接受
    猜你喜欢
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 2012-07-18
    相关资源
    最近更新 更多