Php 在哪里可以找到;模板";接口?
我想知道在哪里可以找到模板接口 我正在创建这些实现iLog的类:Php 在哪里可以找到;模板";接口?,php,Php,我想知道在哪里可以找到模板接口 我正在创建这些实现iLog的类: DatabaseLog ScreenLog FileLog 我想知道一个典型的日志类应该有哪些方法 是否有一组接口可以实现/学习,而不是重新设计,并且必须考虑方法名称 例如:接口: iLog iDatabase iErrorMessage etc. 谢谢PHP定义了以下接口(应该,但可能不完整): 可遍历-可遍历的接口 迭代器-迭代器接口 IteratorAggregate-IteratorAggregate接
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类只是一个网关。您可以添加读取,但是记录器网关必须知道来自哪个读卡器,我发现它不太有用,因为它使您必须知道那里有什么读卡器。