public static function __get($value)
Run Code Online (Sandbox Code Playgroud)
不起作用,即使它确实如此,我也需要在同一个类中使用magic __get getter作为实例属性.
这可能是一个是或否的问题,所以,它有可能吗?
可能重复:
谁需要单身人士?
我总是写最佳实践,但我也想了解为什么给定的东西是最佳实践.
我读过一篇文章(遗憾的是我不记得),单例类更喜欢被实例化,而不是用静态函数创建并使用范围解析运算符(::)进行访问.因此,如果我有一个包含所有要验证的工具的类,简而言之:
class validate {
private function __construct(){}
public static function email($input){
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我被告知这被认为是不好的做法(或者至少被警告过),因为有垃圾收集器和维护这样的东西.所以对"单体类作为静态方法"的批评是什么,我实例化一个类我100%肯定我只会实例化一次.对我来说,它似乎在做"双重工作",因为它已经准备好了.我错过了什么?
对此事有何看法?当然,这不是生死攸关的问题,但如果有选择的话,人们也可以做正确的事情:)