首页 > 解决方案 > 非静态方法如何在本地主机上静态工作

问题描述

我创建了一个类,并在该类中创建了一个公共方法。现在将该方法称为静态方法,并且工作正常。如何?

如果我在 PHP fiddle 上上传此代码,它会给出我所期望的错误。但是为什么它没有在本地主机上给出错误

 class A
    {
        public function b()
        {
            echo "i am b";
        }
    }
    print_r(A::b());

标签: phpoop

解决方案


自 PHP 5.6 版本起,非静态方法的静态调用已被弃用。这意味着如果您调用像 statical 这样的非静态方法,则会收到 E_DEPRECATED 级别的错误。如果您没有看到此错误,您应该重新配置错误报告并启用显示错误。例如:

ini_set('display_errors', 1);
error_reporting(E_ALL);

推荐阅读