PHP 单例类的最佳实践
可能重复:
谁需要单例?
我总是写关于最佳实践的文章,但我也想了解为什么给定的东西是最佳实践。
我在一篇文章中继续读到(不幸的是我不记得了),单例类更喜欢实例化,而不是使用静态函数制作并使用范围解析运算符(::)访问。因此,如果我有一个类,其中包含我所有要验证的工具,简而言之:
class validate {
private function __construct(){}
public static function email($input){
return true;
}
}
我被告知这被认为是不好的做法(或者至少被警告过),因为垃圾收集器和维护之类的东西。因此,对“单例类作为静态方法”的批评想要的是,我实例化了一个我100%确定我只会实例化的类。对我来说,这似乎是在做“双重工作”,因为它已经在那里准备好了。我错过了什么?
对此事有何看法?当然,这不是一个生死攸关的问题,但如果有选择的话,人们不妨以正确的方式做一件事:)