如何在靜態方法中使用'this'?我不斷收到錯誤:PHP Catchable fatal error: Object of class could not be converted to string
如何在靜態方法中使用'this' - PHP PDO
這裏是我試圖使用方法:
public static function getFirst(){
$this->_id = 1;
$this->_name = $this->_db->query("SELECT name FORM users WHERE id = 1");
$this->_occupation = $this->_db->query("SELECT occupation FORM users WHERE id = 1");
$this->_email = $this->_db->query("SELECT email FORM users WHERE id = 1");
}
我需要有這樣的方法進行分配類中的所有這些變量,當我把這種方法的主要頁面上:
$currentUser = User::getFirst();
因此,它從數據庫中提取信息並將其放入類中的變量中。
我是PHP新手,特別是PDO,請在這裏幫我一把! 在此先感謝
'self :: $ _ id' ...你的錯誤並不是因爲這個,因爲'query()'不返回一個字符串。 – h2ooooooo
magic關鍵字$ this用於存在類類型實例的上下文。在一個靜態的上下文中,這個實例不會,因此$ this不能在靜態方法中使用。要引用靜態函數成員內部的靜態屬性,您可以使用關鍵字'self' –
或者,如果您需要從類的實例中調用這些內容,則可以在$ _this = new self; $ _this - > _ id = 1' –