PHP 静态方法是否已弃用

  • 本文关键字:是否 静态方法 PHP php
  • 更新时间 :
  • 英文 :


>警告:

在 PHP 7 中,不推荐静态调用非静态方法,并且会生成E_DEPRECATED警告。
将来可能会删除对静态调用非静态方法的支持。

我在 PHP 7 中运行这个:

public static function loadStandards() {
   return true;
}

或者这个:

static public function loadStandards() {
   return true;
}

并且工作正常,没有来自 PHP 的E_DEPRECATED警告。

所以。。已弃用?要不?

namespace AppHttpControllersTools;
use AppHttpControllersCentral;
class ShopTool extends Central
{
    public static $loaded = [];
    public static function loadStandards()
    {
        return true;
    }
}

静态函数很好,根本没有被弃用。

class foo {
    public static function myStaticFunction() {
        echo "I'm declared static! Calling me statically works great.";
    }
}

你可以打电话给foo::myStaticFunction()它会正常工作。

过去,您可以静态调用非静态函数。这就是 PHP 所弃用的。

例如:

class foo {
    public function myNonStaticFunction() {
        echo "I'm not declared static, if you try to call me statically you'll get a deprecated warning";
    }
}

现在,如果您尝试像静态一样调用foo::myNonStaticFunction(),PHP 会给您一个弃用的警告。

有关工作示例,请参见此处:https://3v4l.org/lXYsf

最新更新