Symfony でブラウザの Cookie を表すために、なぜ 2 つの異なるが非常によく似たクラスがあるのですか?
Symfony\Component\HttpFoundation\Cookie
とSymfony\Component\BrowserKit\Cookie
まず、Symfony コンポーネントとは何かを理解する必要があります。
Symfony コンポーネントは、Web サイトの開発に必要な共通機能を実装します。これらは Symfony フルスタック フレームワークの基盤ですが、必須の依存関係がないため、フレームワークを使用しない場合でもスタンドアロンで使用することもできます。
外部依存関係はありません。つまり、依存関係はコンポーネントにバンドルされます。
HttpFoundation\Cookie
HttpFoundation
コンポーネントによって使用される Cookie クラスです。コンポーネントBrowserKit\Cookie
が使用するクラスBrowserKit
です。これらは、各コンポーネントのバンドルされた小さな依存関係です。コンポーネント内の個々のクラスではなく、コンポーネントを使用する必要があります。
これら 2 つのコンポーネントの目的は、
シナリオに応じて、使用するコンポーネントを決定します。