搜索

首页  >  问答  >  正文

静态函数无法使用 $this

我有这个方法,我想在其中使用 $this,但我得到的只是:致命错误:不在对象上下文中使用 $this。

我怎样才能让它发挥作用?

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


P粉277464743P粉277464743411 天前583

全部回复(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
  • 取消回复