我試圖訪問一個靜態方法全局變量,但我正在逐漸的致命錯誤:訪問全局變量
Fatal error: Call to a member function prepare() on a non-object
意味着我的靜態變量不能保持全局變量,但本標準適用於常規方法(無靜態)。
class Payment_Handler {
private static $dbh;
function __construct() {
global $dbh;
self::$dbh = $dbh;
}
/**
* Verify Secret Key
*
* @param string $secret_key
* @return boolean
*/
static function verify_secret($secret_key) {
// Do the stuff with self::$dbh
$query = "............";
$stmt = self::$dbh->prepare($query);
}
} // End Class
我也嘗試過谷歌,但沒有運氣。請告訴我我做了什麼錯誤,爲什麼它不能通過靜態變量訪問?
你是混合構造函數中的靜態方法讓你的函數的非靜態和與對象實例調用該方法的東西'$ obj-> verify_secret( )'這樣,在對象實例化屬性通過'__construct'設置 –