可捕获的致命错误:User类的对象无法在中转换为字符串


Catchable fatal error: Object of class User could not be converted to string in

我有问题,无法转换为字符串。。。

可捕获的致命错误:类用户的对象无法在第74行的/home/mysite/example.com/directory/lang/lang.english.php中转换为字符串

但是我认为userclass.php中有错误:

class User {
  var $userid;
  var $username;
  var $pwd;
  var $emailaddr;
  var $icon;
  var $usertype;
  var $lang;
  var $createdate;
  var $loggedIn;
  var $dflths;
  var $dfltas;
  var $auto;
  function User() {
    $this->userid = "";
    $this->username = "";
    $this->pwd = "";
    $this->emailaddr = "";
    $this->icon = "";
    $this->usertype = "0";
    $this->createdate = "";
    $this->lang = "english";
    $this->loggedIn = FALSE;
    $this->dflths = 0;
    $this->dfltas = 0;
    $this->auto = "N";
  }
}

有东西试图将用户转换为字符串,但它没有__toString

这可能是您想要添加到用户类中的内容:

public function __toString() {
    return $this->username;
}

此外,您的构造函数应该被称为__construct而不是User,并且您不应该使用var关键字。这些东西来自PHP的旧版本(大约15年前)。

如果您使用getter和setter,我建议将var替换为protected。如果没有,则使用public以避免破坏其他代码。