繁体   English   中英

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

[英]Can't Call Static Method From Within Another Class

我有一个Users类和一个Log类。 在Users类中,我有几种方法。 如果在方法内部发现错误,我将在Log类内调用静态方法以将错误写入文本文件和数据库。 但是,尝试实际调用静态方法无效,并且没有收到错误消息。

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

那么这是怎么回事?

我调用静态方法的方式没有任何问题。 我的程序刚出现语法错误(缺少分号)。 经过一夜安眠后,我意识到自己是个傻瓜,并决定使用我的大脑和常识。 对于其他菜鸟,这是我的工作:

我确保将错误报告设置为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);
     }
  }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM