我有以下簡單的代碼:PHP從一個類的方法訪問在全球範圍內功能
$a = 'hello';
function myfunc() {
echo 'in myfunc';
}
class myclass {
function __construct() {
myfunc();
echo $a;
}
}
$m1 = new myclass();
方法中的回聲$一個給出了一個錯誤,你所期望的,因爲$ a是一個在全球範圍內和如果沒有首先聲明它是全局的,就不能從類內部訪問。這在PHP手冊中有記錄。
對myfunc()的調用確實有效,我不明白爲什麼。它也在全局範圍內聲明,但該方法可以在不首先將其聲明爲全局的情況下訪問它。我似乎無法在PHP手冊中找到解釋其原因的任何內容。
也許我一直在做PHP太久,這是如此簡單,我忘記了它是如何工作的。任何洞察力或鏈接到PHP手冊中的哪裏,它說你可以從一個類的方法訪問一個全局函數,將不勝感激。
在此先感謝。
我建議你接受@bwoebi的答案,因爲它是最好的解決你的問題的答案:) –