将 public 静态函数的 return 值分配给私有变量

Assign a public static function's return value to a private variable

有两个class:

class Db {
    public static function getConnection () {
        /*Initialize parameters*/
        $db = new PDO (...);
        return $db;
    }
}

Class Db 初始化并 returns 一个 PDO 对象。

然后我想在另一个 class:

class User {
    private $db = Db::getConnection();
    ....
}

为什么我在这里遇到错误:

private $db = Db::getConnection();

在不知道错误的情况下,很难说,但我猜是因为你不能在那里做那个,试试这个。

class User {
    private $db = null;

    function __construct(){
        $this->db = Db::getConnection();
    }

    public function getFriends(){
        return $this->db->query('SELECT * FROM friends');
    }
}