php – 我可以为我的Logger使用静态类吗?
发布时间:2020-12-13 18:09:39 所属栏目:PHP教程 来源:网络整理
导读:最近我被告知静态类/方法是邪恶的. 以我的类Logger为例: class Logger{ private static $logs = array(); public static function add($msg){ self::$logs[]=$msg; } public static function echo(){ print_r(self::$logs); }} 我可以随时随地使用这样的应
最近我被告知静态类/方法是邪恶的.
以我的类Logger为例: class Logger{ private static $logs = array(); public static function add($msg){ self::$logs[]=$msg; } public static function echo(){ print_r(self::$logs); } } 我可以随时随地使用这样的应用程序: Logger::add('My log 1'); 但阅读这些开发人员: > http://misko.hevery.com/2008/12/15/static-methods-are-death-to-testability/ Logger类似乎不太好. 那么:我可以静态使用它还是应该不惜一切代价避免使用它?
记录类是例外.
由于它们很少包含很多逻辑,因此您没有相同的测试问题. 日志记录是使用静态类的好地方的完美示例. 想想你的选择: >日志记录对象的全局实例? 以上比使用静态日志更糟糕. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |