this 這 self 自己
$this 指的是實例化的對象,self指的是當前類
$db = new Imooc\Database(); var_dump($db->where('id=1')); Database 類返回的是$this, 打印出來可以看到$this就是Database這個類的實例化的對象. 現在看self這個關鍵詞 class Database { private static $db; static function getInstance() { if (self::$db) { return self::$db; } else { self::$db = new self(); return self::$db; } } } 還是Database這個類 ,定義了靜態私有變量(只有類才能調用),由於$this是指向對象所以用$this->db會報錯, self指向Database這個類的本身,self()相當於實例化了Database這個類的對象.