[英]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.