2
我们以此为例,我有一个方法在Validator类中调用validateDateTime。此功能非常简单,可以检查日期时间是否为所需格式。Symfony:服务容器VS静态方法
namespace MyApp\Util;
use \DateTime;
class Validator {
public static function validateDateTime($dateTime, $format = 'Y-m-d') {
$d = DateTime::createFromFormat($format, $dateTime);
return $d && $d->format($format) == $dateTime;
}
}
之前我了解到Symfony的,我总是用静态方法为了便于使用的功能,如果该功能必须在应用程序共享。
在学习了Symfony之后,我知道Symfony具有非常强大的功能,这是一个服务容器,它执行同样的方便来访问将在整个应用程序中使用的函数。
我的问题是:
- 什么是使用静态方法VS服务容器的利弊
- 在Symfony的最佳实践,是建议在静态方法来使用服务容器,如果我想达到相同的目的(在整个应用程序中共享的功能)。
- 在什么情况下,什么时候,为什么,我们需要用静态方法
您的评论和意见都非常赞赏。
FRom测试的观点静态方法很难模拟 – Matteo