例として、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が持っていることを知っています。
私の質問は以下のとおりです。私はしたい場合
- symfonyのベストプラクティスでは、サービスコンテナ
- 対静的メソッドを使用しての長所と短所は何ですか、それは静的なメソッドを介してサービスコンテナを使用することをお勧めします同じ目的を達成する(アプリケーション全体で共有する機能)。どのような状況では
- 、なぜ、我々は静的メソッドを使用する必要が
コメントや意見が非常に高く評価されています。
FRom testing point静的メソッドはモックするのが難しい – Matteo