>警告:
在 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