我有一个Users类和一个Log类。在Users类中,我有几种方法。如果在方法中发现错误,我会调用Log类中的静态方法将错误写入文本文件和数据库。但是,尝试实际调用静态方法不起作用,我没有收到错误消息。
我使用'require_once'Log.php'在Users类中包含Log类,并使用Log :: log_error()调用该方法。
那么这里发生了什么?
答案 0 :(得分: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);
}
}
}