使全局“Logger”类可用于php中的每个应用程序类

时间:2016-06-21 10:58:43

标签: php oop

我有一些将数据存储到DB的类,我希望在每个pdo UPDATE语句之后实现一个新的logger类方法来执行一些日志记录操作。

说明

  • 每个类都扩展了global
  • 我希望每个班级都有$ logger课程

我认为我需要在全球范围内“包含”一个新的logger课程,是不是?

如果是,我应该如何以正确的OOP方式做到这一点?我只需要一些简短的简报,而不是详细的代码...

谢谢

1 个答案:

答案 0 :(得分:-1)

class Global {

    private $logger = null; 

    protected function log($msg) {
      if ($this->logger === null) {
         $this->logger = new Logger();
      }
      $this->logger->log($msg);
   }
}

在其他课程中$this->log('test')

编辑: 更好的方法是使用依赖注入,例如使用疙瘩。