看這個(gè) PSR 中文版,https://github.com/PizzaLiu/PHP-FIG
或英文原版:http://www.php-fig.org/
其中 PRS-0,PSR-1,PSR-2,PSR-4 都比較好理解,
但是不明白,PSR-3 是什么意思,是說如果寫日志類,最好要繼承那個(gè)接口 還是什么意思?
http://www.php-fig.org/psr/psr-3/
還有,看這里 https://packagist.org/explore/
其中“Popular Packages”第一的是 PSR 的日志類,
第二的是 monolog
這個(gè)日志類,怎么這么屌?
https://packagist.org/packages/monolog/monolog
如果用了 monolog
是不是不用管 PSR-3 了?
業(yè)精于勤,荒于嬉;行成于思,毀于隨。
monolog是符合PSR-3標(biāo)準(zhǔn)的日志類的一種實(shí)現(xiàn)
PSR-3要求繼承LoggerInterface主要是處于統(tǒng)一各種組件中日志記錄模塊接口的意圖,理想是所有的第三方模塊涉及“記錄日志”的都通過接受一個(gè)LoggerInterface實(shí)例然后按接口來記日志,而無需每個(gè)模塊各自搞一套“如果要記文件,配置XXX,記db配置YYY,日志文件定期刪除配ZZZ”之類的東西
所以說題主的最后一句話可能倒過來說更好,要求以PSR-3規(guī)范記錄日志的地方可以用monolog庫的實(shí)例作為具體實(shí)現(xiàn)
用monolog而不通過LoggerInterface借口的話,達(dá)不到PSR-3的初衷
但這是以“寫開源模塊”“寫第三方組件”為前提的(題主可以查查FIG的全稱:)) 實(shí)際的業(yè)務(wù)項(xiàng)目中,確實(shí)不管PSR-3也不會(huì)怎樣