與雙冒號稱其爲下課後我有一段代碼:改變方法,以靜態的PHP
class example {
public function say($x) {
if ($x > 0) {
echo $x;
$this->say($x - 1);
}
else echo "0<br>\n";
}
}
example::say(5);
調用它,我有:
5
Fatal error: Using $this when not in object context in (...).php on line 5
這究竟是爲什麼?功能「說」發生了什麼?我發現它在一個類的外部被調用過,但爲什麼類內部的PHP聲明'say'不能被'$ this->'訪問?
或self :: say($ x - 1)l但我怎麼能這樣做非靜態,並將其稱爲靜態? – kuba 2011-01-09 21:28:22
@Kuba Werlos你不能有一個靜態調用的非靜態方法 - 它會調用哪個對象實例? – 2011-01-09 21:30:25