contracts
1.0.0
從 Symfony 組件中提取的一組抽象。
可用於建構 Symfony 元件已證明有用的語意 - 並且已經經過實戰測試的實作。
實現特定合約的套件應使用symfony/*-implementation
約定將它們列在其“composer.json”文件的“provide”部分中(例如"provide": { "symfony/cache-implementation": "1.0" }
) 。
該套件中的抽象化對於實現鬆散耦合和互通性很有用。透過使用提供的介面作為類型提示,您可以重複使用與其契約相符的任何實作。它可以是 Symfony 元件,也可以是整個 PHP 社群提供的另一個元件。
根據其語義,某些介面可以與自動組裝相結合,以將服務無縫地註入到您的類別中。
其他可能可用作標籤接口,以提示使用自動配置或手動服務標記(或框架提供的任何其他方式)時可以啟用的特定行為。
如果適用,所提供的合約將建構在 PHP-FIG 的 PSR 之上。但該小組有不同的目標和不同的流程。在這裡,我們專注於提供本身有用的抽象,同時仍與 Symfony 提供的實作相容。雖然不是主要目標,但我們希望所申報的合約能夠直接或間接地為 PHP-FIG 做出貢獻。