用于日志记录的 PHP 设计模式


PHP design pattern for logging

我有一个类,每次调用它的一个函数时

,它都会将记录记录到文件中。

我想避免将日志记录代码包含在每个函数中。我不认为这是一个好的编码实践。

class Foo {
   function foo1() {
       file_put_contents("log","Foo1 has been called");
       // do something
   }
   function foo2() {
       file_put_contents("log","Foo2 has been called");
       // do something
   }
   function foo3() {
       file_put_contents("log","Foo3 has been called";
       // do something
   }
}

我想从每个函数中取出 file_put_contents(),但在调用函数时仍然写入日志!是否有任何设计模式可以做到这一点?

听起来你正在寻找观察者模式。

这是一篇博客文章,其中包含一个概念上足够相似的示例,可以满足您的关注http://labelmedia.co.uk/blog/posts/php-design-patterns-observer-pattern.html