Symfony コンポーネントから抽出された一連の抽象化。
Symfony コンポーネントが有用であることが証明され、すでに実戦テストされた実装を備えたセマンティクスに基づいて構築するために使用できます。
特定のコントラクトを実装するパッケージはsymfony/*-implementation
規約を使用して、「composer.json」ファイルの「provide」セクションにそれらをリストする必要があります (例"provide": { "symfony/cache-implementation": "1.0" }
)。
このパッケージの抽象化は、疎結合と相互運用性を実現するのに役立ちます。提供されたインターフェイスを型ヒントとして使用すると、コントラクトに一致する実装を再利用できます。それは Symfony コンポーネントである可能性もあれば、PHP コミュニティ全体によって提供される別のコンポーネントである可能性もあります。
セマンティクスに応じて、一部のインターフェイスを自動配線と組み合わせて、クラスにサービスをシームレスに挿入できます。
その他のインターフェイスは、自動構成または手動サービス タグ付け (またはフレームワークによって提供されるその他の手段) を使用するときに有効になる特定の動作についてヒントを与えるために、ラベル付けインターフェイスとして役立つ場合があります。
該当する場合、提供されるコントラクトは PHP-FIG の PSR の上に構築されます。しかし、グループには異なる目標と異なるプロセスがあります。ここでは、Symfony が提供する実装との互換性を保ちながら、それ自体で役立つ抽象化を提供することに焦点を当てています。メインターゲットではありませんが、宣言された契約が直接的または間接的に PHP-FIG に貢献することを期待しています。