調用兼容在PHP 5.6:類公共變量在PHP 7.0和PHP 5.6
當一個類裏面是我們通常聲明&調用一個公共類變量是這樣的:
class MyClass
{
/**
* @var int
*/
public $myVar = 0;
// call it in a public function:
public function myFunction()
{
return $this->myVar;
}
}
我打電話該功能是這樣的:
MyClass::myFunction();
在PHP 7.0的代碼拋出了一個致命的錯誤:
Using $this when not in object context
將我的PHP版本再次更改回5.6後,錯誤消失了。
問題:
我不得不承認,我讀不明白手冊和從5.6到7.0的變化之後。
- 我們如何在PHP 7.0中聲明和調用公共類變量?
- 我們如何編寫這個代碼以便在5.6和7.0之間兼容?評論後
編輯:
那麼爲什麼在非靜態方法的靜態調用工作在5.6?
你是怎麼調用這個函數的?這很重要。 –
我確定你正在錯誤分析錯誤。你展示的代碼很好。我同意上面的說法,那就是所說方法的調用是原因。 –
增加了函數調用 –