搜尋

首頁  >  問答  >  主體

靜態函數無法使用 $this

我有這個方法,我想在其中使用 $this,但我得到的只是:致命錯誤:不在物件上下文中使用 $this。

我怎麼能讓它發揮作用?

public static function userNameAvailibility()
{
     $result = $this->getsomthin();
}


#
P粉277464743P粉277464743448 天前605

全部回覆(2)我來回復

  • P粉810050669

    P粉8100506692023-10-18 12:20:45

    您不能在靜態函數中使用$this,因為靜態函數獨立於任何實例化物件。 嘗試使該函數不是靜態的。

    編輯: 根據定義,靜態方法可以在沒有任何實例化物件的情況下調用,因此在靜態方法中使用 $this 沒有任何意義。

    回覆
    0
  • P粉633075725

    P粉6330757252023-10-18 10:24:37

    這才是正確的做法

    public static function userNameAvailibility()
    {
         $result = self::getsomthin();
    }

    對於靜態方法,使用self::而不是$this->

    請參閱:PHP 靜態方法教學#更多資訊:)

    回覆
    0
  • 取消回覆