无法从另一个类中调用静态方法

Bad*_*mer 0 php static-methods

我有一个Users类和一个Log类.在Users类中,我有几种方法.如果在方法中发现错误,我会调用Log类中的静态方法将错误写入文本文件和数据库.但是,尝试实际调用静态方法不起作用,我没有收到错误消息.

我使用'require_once'Log.php'在Users类中包含Log类,并使用Log :: log_error()调用该方法.

那么这里发生了什么?

Bad*_*mer 5

我调用静态方法的方式没有错; 我的程序中只有语法错误(缺少分号).经过一夜好眠,我意识到自己是一个什么样的傻瓜,并决定用我的大脑和常识.对于其他新手,这就是我做的:

我确保将错误报告设置为error_reporting(E_ALL)(注意:这不是生产服务器);

然后我搜索了我的错误日志(我的RHEL5系统上的*/var/log/http/error_log*)并运行命令tail -f以实时查看新的日志条目.

然后我再次运行脚本,果然我有一个很好的"PHP Parse错误:语法错误.."错误.

作为参考,如果任何不熟悉OOP的人想看看我如何使用静态方法调用,这里是一段代码片段:

class Log
{
   public static function log_err($data)
   {
     //put code here
   }
}


class User
{
  private function user_action($action)
  {
     //put code here

     //If error call static method from Log class
     if($err)
     {  
        Log::log_err($data);
     }
  }

}
Run Code Online (Sandbox Code Playgroud)