0
我已經寫了下面的一段代碼:未定義的變量...但我沒把它定義
Class stackOverflowExample {
private $hash;
private $cookie_file;
public function __construct(){
@session_start();
if(isset($_SESSION['gc_hash'])){
$this->$hash = $_SESSION['gc_hash'];
}else{
$this->$hash = md5(time());
$_SESSION['gc_hash'] = $this->$hash;
}
$this->$cookie_file = "./cookies/{$this->$hash}.txt";
}
}
但我發現了這個錯誤
Notice: Undefined variable: hash in /var/www/gausie/gc/GeoCaching.Class.php on line 21
Fatal error: Cannot access empty property in /var/www/gausie/gc/GeoCaching.Class.php on line 21
在原碼21行是指$this->$hash = $_SESSION['gc_hash'];
。
我看不出爲什麼會發生這種情況,儘管我是OO PHP的新手。有任何想法嗎?
里亞德的觀點存在使用PHP的對象符號時,你只需要前'this'的'$'和無處。 – Crontab 2012-01-10 14:58:08
正確:) - '$ this - > $ hash'會引用一個名爲類似於放置在類中的$ hash的內容的變量。因此,爲了它的工作,你需要聲明'$ hash ='hash';一旦完成,它也可以這樣工作,但這不是真正的做法。看到如何做到這一點的答案:) – bardiir 2012-01-10 14:58:50
啊。我感到很傻。 Upvotes。編輯:我意識到這不是Reddit。 – Gausie 2012-01-10 14:59:28