Symfony 구성 요소에서 추출된 추상화 집합입니다.
Symfony 구성 요소가 유용하다고 입증되었으며 이미 전투 테스트를 거친 구현을 갖춘 의미 체계를 구축하는 데 사용할 수 있습니다.
특정 계약을 구현하는 패키지는 symfony/*-implementation
규칙을 사용하여 "composer.json" 파일의 "provide" 섹션에 해당 계약을 나열해야 합니다(예 "provide": { "symfony/cache-implementation": "1.0" }
).
이 패키지의 추상화는 느슨한 결합과 상호 운용성을 달성하는 데 유용합니다. 제공된 인터페이스를 유형 힌트로 사용하면 해당 계약과 일치하는 모든 구현을 재사용할 수 있습니다. 이는 Symfony 구성 요소일 수도 있고 PHP 커뮤니티에서 제공하는 다른 구성 요소일 수도 있습니다.
의미 체계에 따라 일부 인터페이스는 자동 배선과 결합되어 클래스에 서비스를 원활하게 주입할 수 있습니다.
다른 것들은 자동 구성이나 수동 서비스 태깅(또는 프레임워크에서 제공하는 다른 수단)을 사용할 때 활성화될 수 있는 특정 동작에 대해 힌트를 주기 위해 레이블 지정 인터페이스로 유용할 수 있습니다.
해당되는 경우 제공된 계약은 PHP-FIG의 PSR 위에 구축됩니다. 하지만 그룹은 서로 다른 목표와 프로세스를 가지고 있습니다. 여기서 우리는 Symfony가 제공하는 구현과 여전히 호환되면서도 그 자체로 유용한 추상화를 제공하는 데 중점을 두고 있습니다. 주요 대상은 아니지만 선언된 계약이 PHP-FIG에 직간접적으로 기여할 수 있기를 바랍니다.