Php 在哪里可以找到;模板";接口?

Php 在哪里可以找到;模板";接口?,php,Php,我想知道在哪里可以找到模板接口 我正在创建这些实现iLog的类: DatabaseLog ScreenLog FileLog 我想知道一个典型的日志类应该有哪些方法 是否有一组接口可以实现/学习,而不是重新设计,并且必须考虑方法名称 例如:接口: iLog iDatabase iErrorMessage etc. 谢谢PHP定义了以下接口(应该,但可能不完整): 可遍历-可遍历的接口 迭代器-迭代器接口 IteratorAggregate-IteratorAggregate接

我想知道在哪里可以找到模板接口

我正在创建这些实现iLog的类:

 DatabaseLog
 ScreenLog
 FileLog
我想知道一个典型的日志类应该有哪些方法

是否有一组接口可以实现/学习,而不是重新设计,并且必须考虑方法名称

例如:接口:

 iLog
 iDatabase
 iErrorMessage
 etc.

谢谢

PHP定义了以下接口(应该,但可能不完整):

  • 可遍历-可遍历的接口
  • 迭代器-迭代器接口
  • IteratorAggregate-IteratorAggregate接口
  • ArrayAccess-ArrayAccess接口
  • Serializable—可序列化接口
  • 可数-可数接口
  • OuterIterator-OuterIterator接口
  • 递归迭代器-递归迭代器接口
  • SeekableTerator-SeekableTerator接口
  • SplObserver-SplObserver接口
  • SplSubject-SplSubject接口


至于你的日志记录界面,我想说它应该有一个方法
log($message,level)
而没有其他内容。

谢谢你的链接!关于记录器接口。是否应该有一个名为read()的方法?还是另一个负责阅读的界面?@fayer取决于日志的功能。我想你说的是一个日志作者。如果您的日志可以读写,为什么不将这些关注点分成两个接口,然后让您的日志记录器实现LogWriter和LogReader,并为其中一个提供方法write(),另一个提供方法read()。这实际上是一个很好的分离。我会考虑是将它们分开,还是将它们放在一个接口中,尽管听起来每个记录器也应该具有读取能力。@fayer一种常见的方法是将记录器组合成一个集合多个写入器的组合,以便您可以同时写入(例如)文件和数据库。Logger类只是一个网关。您可以添加读取,但是记录器网关必须知道来自哪个读卡器,我发现它不太有用,因为它使您必须知道那里有什么读卡器。