ชุดนามธรรมที่แยกออกมาจากคอมโพเนนต์ Symfony
สามารถใช้เพื่อสร้างความหมายที่ส่วนประกอบ Symfony พิสูจน์แล้วว่ามีประโยชน์ - และมีการใช้งานที่ผ่านการทดสอบการต่อสู้แล้ว
แพ็คเกจที่ใช้สัญญาเฉพาะควรแสดงรายการไว้ในส่วน "provide" ของไฟล์ "composer.json" โดยใช้แบบแผน symfony/*-implementation
(เช่น "provide": { "symfony/cache-implementation": "1.0" }
).
สิ่งที่เป็นนามธรรมในแพ็คเกจนี้มีประโยชน์ในการบรรลุการเชื่อมต่อที่หลวมและการทำงานร่วมกันได้ ด้วยการใช้อินเทอร์เฟซที่ให้ไว้เป็นคำแนะนำประเภท คุณสามารถนำการใช้งานใดๆ ที่ตรงกับสัญญามาใช้ซ้ำได้ อาจเป็นส่วนประกอบ Symfony หรือส่วนประกอบอื่นที่จัดทำโดยชุมชน PHP โดยรวม
ขึ้นอยู่กับความหมาย อินเทอร์เฟซบางตัวสามารถใช้ร่วมกับการวางสายอัตโนมัติเพื่อแทรกบริการในคลาสของคุณได้อย่างราบรื่น
ส่วนอื่นๆ อาจมีประโยชน์เป็นอินเทอร์เฟซการติดป้ายกำกับ เพื่อบอกใบ้ถึงลักษณะการทำงานเฉพาะที่สามารถเปิดใช้งานได้เมื่อใช้การกำหนดค่าอัตโนมัติหรือการติดแท็กบริการด้วยตนเอง (หรือวิธีการอื่นใดที่เฟรมเวิร์กของคุณให้มา)
เมื่อทำได้ สัญญาที่ให้ไว้จะถูกสร้างขึ้นบน PSR ของ PHP-FIG แต่กลุ่มมีเป้าหมายและกระบวนการที่แตกต่างกัน ที่นี่ เรากำลังมุ่งเน้นไปที่การนำเสนอนามธรรมที่เป็นประโยชน์ในตัวเอง ในขณะที่ยังคงเข้ากันได้กับการใช้งานที่ Symfony มอบให้ แม้ว่าจะไม่ใช่เป้าหมายหลัก แต่เราหวังว่าสัญญาที่ประกาศไว้จะสนับสนุน PHP-FIG ทั้งทางตรงและทางอ้อม