php - 日志记录:在多个类中使用相同的对象

时间:2013-04-14 15:43:09

标签: php oop inheritance parent

我已经多年来一直坐在这上面,无法找到满足我的方式。

我的问题: 我有一个父类和各种子类。 在父项的构造函数中,创建了一个新对象(以及其他内容)。该对象来自我的日志文件类。它存储在受保护的变量中。

在父类中,日志保存不是问题,一切都按计划完成。

如果我想在子类中使用该对象,我无法使其工作。我无法访问它。 我在父类中尝试了一个函数,以便返回该对象,这也没有用。

我在这里不知所措。

这是父母的构造函数:

function __construct() {
...   
 $this->reg_log_file = new log_file(bef_registration::REG_LOG_NAME, bef_registration::REG_LOG_KEEPING);
...
}

为了在父类中创建新条目,以下内容就足够了:

$this->reg_log_file->entry('start log');

在子课程中,这会导致错误:

  

在非对象

上调用成员函数entry()

谷歌搜索和阅读几个小时后,我仍然没有想出一个正确的方法。

有想法的人吗?

1 个答案:

答案 0 :(得分:1)

您应该在每个子构造函数的主体中运行parent::__construct();,并且日志对象将在所有继承的子类中实例化并可见。