PHP 服务:单例或静态


PHP Service: Singleton or Static

我想通过提供服务将数据操作代码与控制器分开。

我在问自己,做一些像

Service::getInstance()->function()(单例)或干脆Service::function()(静态)这样的事情更好

通常,我会做一个单例服务,人们说它更可测试。

但就我而言,该服务将使用类似 Article::find($id) .所以我的问题是:如果这个单例使用静态方法,是否有必要制作单例?我认为在这种情况下,可测试性不会改变任何事情。对吗?我想以正确的方式做到这一点,所以我需要你的帮助。

非常感谢:)

为什么不能使用对象的实例?通过这种方式,您可以注入所需的依赖项:

$articleObject = new Article($databaseForExample);
$article = $articleObject->find($id);