php mysql library_php常用Library

突然兴起,想总结一下php使用过的类库,当然,是一点一点增加,不会一下子完整哦~

一、php日志类库 Monolog

功能强大,可以把日志发送到文件、socket、邮箱、数据库和各种web services。

可替换性强。

可扩展和自定义很方便。

思考:

如果让我设计,我会考虑提供给用户,

1、可以直接操作的log对象。

2、输入流对象,xxxHandler对象,在log对象和输出介质之间抽象一层出来。   // log对象-----> streamHandler----->实际的xxx.txt文档   因为输出介质有可能是txt文档、mysql数据库、邮件、socket发送等等

//StreamHandler写入磁盘,Mailhandler写入邮件,在Monolog中,xxxHandler对象是堆栈式,流水线处理,即从上到下,先处理MailHandler决定是否邮件发出该日志,完成后,判断是否暂停执行下面的处理,如果

//如果继续,在走到StreamHandler写入磁盘。。。 这种 堆栈式,线性流水解决方案很棒。

3、Monolog里面用的是,观察者模式,往log对象中注入多个监听xxxHandler。

log对象---(观察者模式)------>xxxHandler-------->输出介质

4、但,,如果是我,就建一个抽象类Handler,把具体模式放在Handler类实现,log对象之间操作Hanlder里面的方法,方法实现用具体的StreamHandler或者MailHandler,但这样就不是流水线式从上到下执行的。在

只需要执行一个时,用这种方式会更好。

StreamHandler:把记录写进PHP流,主要用于日志文件。

SyslogHandler:把记录写进syslog。

ErrorLogHandler:把记录写进PHP错误日志。

NativeMailerHandler:使用PHP的mail()函数发送日志记录。

SocketHandler:通过socket写日志。

AmqpHandler:把记录写进兼容amqp协议的服务。

BrowserConsoleHandler:把日志记录写到浏览器的控制台。由于是使用浏览器的console对象,需要看浏览器是否支持。

RedisHandler:把记录写进Redis。

MongoDBHandler:把记录写进Mongo。

ElasticSearchHandler:把记录写到ElasticSearch服务。

BufferHandler:允许我们把日志记录缓存起来一次性进行处理

相关链接:

http://segmentfault.com/a/1190000002775923  //monolog类库详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值