awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
symfony avatar

symfony/contracts

0
View on GitHub↗
3,941 stars·19 forks·PHP·MIT·19 viewssymfony.com/contracts↗

Contracts

This project is a PHP interface library that provides a component interoperability layer. It consists of a set of framework-agnostic contracts and standardized definitions that enable different libraries to work together via a consistent contract.

The library focuses on providing minimal shared interfaces and API definitions, allowing software components to be used across different PHP projects regardless of the underlying framework. This approach decouples application logic from concrete framework implementations.

The project specifically covers service container abstraction and dependency injection standardization. By defining common interfaces for accessing service containers, it ensures interoperability between different container implementations and allows components to retrieve dependencies across various environments.

Features

  • Dependency Injection Interoperability - Standardizes how objects interact with dependency injection containers to enable swapping of implementation libraries.
  • Interface-Based Decoupling - Provides generic interfaces that allow services to remain compatible across different components and versions.
  • PHP Interoperability Libraries - Provides a shared set of API definitions that enable decoupled components to be used across various PHP projects.
  • PHP Standard Interface Implementations - Defines common interfaces and contracts ensuring PHP libraries can work together without framework dependencies.
  • Interface Contracts for Classes - Defines minimal shared contracts that allow disparate components to interact without depending on concrete implementations.
  • Service Container Interfaces - Establishes a consistent way for components to interact with a service container to retrieve dependencies.
  • Dependency Injection Containers - Defines standard ways for objects to access services and containers to facilitate implementation swapping.
  • Framework Agnostic Interfaces - Provides minimal shared interfaces that enable software components to be used across different PHP projects.
  • Interoperability Layers - Provides a set of standardized definitions that enable different libraries to work together via a consistent contract.
  • Logic Abstraction Interfaces - Creates a shared layer of interfaces enabling PHP libraries to communicate without tying them to a specific framework.
  • Container Interface Standards - Provides standardized definitions for retrieving services from a container to ensure interoperability.
  • Type-Safe API Contracts - Employs PHP type declarations to enforce a consistent API surface across different library versions.

Star history

Star history chart for symfony/contractsStar history chart for symfony/contracts

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does symfony/contracts do?

This project is a PHP interface library that provides a component interoperability layer. It consists of a set of framework-agnostic contracts and standardized definitions that enable different libraries to work together via a consistent contract.

What are the main features of symfony/contracts?

The main features of symfony/contracts are: Dependency Injection Interoperability, Interface-Based Decoupling, PHP Interoperability Libraries, PHP Standard Interface Implementations, Interface Contracts for Classes, Service Container Interfaces, Dependency Injection Containers, Framework Agnostic Interfaces.

Which projects share features with symfony/contracts?

Projects with overlapping indexed features include: php-fig/container — This project is a shared technical specification and standard interface for dependency injection containers in PHP. It… derekyrc/mini-spring — mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle… code4craft/tiny-spring — tiny-spring is a Java inversion of control container and aspect-oriented programming framework. It provides a system… facebookarchive/inject — Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging… containernetworking/cni. jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized…

Projects sharing features with Contracts

These projects share indexed features with Contracts. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • php-fig/containerphp-fig avatar

    php-fig/container

    10,012View on GitHub↗

    This project is a shared technical specification and standard interface for dependency injection containers in PHP. It defines a common set of interfaces for retrieving services and dependencies, ensuring that different container implementations remain interoperable across the PHP ecosystem. By establishing a standardized API for dependency retrieval, the project allows developers to create libraries that function with any compliant container. This prevents vendor lock-in and enables different container implementations to be swapped without requiring changes to the application code. The spec

    PHP
    View on GitHub↗10,012
  • code4craft/tiny-springcode4craft avatar

    code4craft/tiny-spring

    4,089View on GitHub↗

    tiny-spring is a Java inversion of control container and aspect-oriented programming framework. It provides a system for managing object lifecycles and dependency injection to decouple application components. The project features a bytecode proxy generator that enables method interception and behavioral modification for classes that do not implement interfaces. It uses pointcut expressions to match specific classes and methods for the execution of cross-cutting logic via dynamic proxies. The framework manages singleton components and resolves object dependencies using lazy initialization. Ap

    Java
    View on GitHub↗4,089
  • containernetworking/cnicontainernetworking avatar

    containernetworking/cni

    6,050View on GitHub↗
    Gocontainersdockerkubernetes
    View on GitHub↗6,050
  • derekyrc/mini-springDerekYRC avatar

    DerekYRC/mini-spring

    6,360View on GitHub↗

    mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle of beans, including instantiation, property population, and scope management, while providing a system for automating the wiring of components. The project implements a Java AOP framework that uses dynamic proxies to intercept method calls for cross-cutting logic. It also functions as a Java component scanner to automatically discover and register managed objects via annotations and as a Java event bus to decouple components through a publish-subscribe multicast system. The

    Javamini-springspringspring-boot
    View on GitHub↗6,360
Compare all 30 related projects→