从静态方法调用私有方法

时间:2012-02-02 16:46:38

标签: php oop php-5.3

我有一个Error类,它有公共静态方法db_log_error()和私有方法_log()。

db_log_error()调用_log()方法。

当我尝试$this->_log()时,我得到PHP Fatal error: Using $this when not in object context

当我尝试self::_log()时,我得到PHP Strict Standards: Non-static method Error::log() should not be called statically

那么我想要做的最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

最理想的解决方案:将_log()方法设为静态。

或者,禁用严格标准:

error_reporting(E_ALL ^ E_STRICT);

答案 1 :(得分:1)

如果需要从静态上下文中调用log方法,请将其设置为静态。