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
php-fig avatar

php-fig/container

0
View on GitHub↗
10,012 stars·53 forks·PHP·MIT·15 views

Container

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 specification covers the standardization of container interfaces and the definition of a uniform method for service resolution. This provides a consistent foundation for building custom service containers and developing interoperable packages.

Features

  • Dependency Injection Containers - Defines the common interface specification for dependency injection containers to ensure ecosystem interoperability.
  • Interface Contract Implementations - Defines a strict set of interface contracts that all compliant service containers must implement for consistency.
  • PHP Standard Interface Implementations - Defines the standard PSR interface that custom service containers must implement for compatibility.
  • Dependency Injection - Standardizes the creation and management of objects across the PHP ecosystem via a common DI interface.
  • Dependency Injection - Establishes a standardized API for dependency injection to prevent vendor lock-in across different libraries.
  • Interoperability Specifications - Serves as a shared technical specification for interchangeable dependency injection containers.
  • Contract and Abstraction Patterns - Provides an abstraction layer that decouples dependency retrieval logic from specific container implementations.
  • Container Interface Standards - Implements the standard PSR interface for retrieving services and dependencies from a container.
  • Interface Standardization - Provides a common set of interfaces that allow different service containers to be swapped seamlessly.
  • Type-Safe Dependency Resolution - Uses PHP interface definitions to ensure type-safe resolution and consistent return types for services.
  • Dependency Injection Interoperability - Enables the creation of PHP libraries that work with any PSR-compliant container.

Star history

Star history chart for php-fig/containerStar history chart for php-fig/container

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Open-source alternatives to Container

Similar open-source projects, ranked by how many features they share with Container.
  • symfony/contractssymfony avatar

    symfony/contracts

    3,941View on GitHub↗

    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

    PHPabstractionscomponentcontracts
    View on GitHub↗3,941
  • jeffijoe/awilixjeffijoe avatar

    jeffijoe/awilix

    4,088View on GitHub↗

    Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized system for registering and resolving services, decoupling application components by automating how dependencies are created and passed to the functions or classes that require them. The framework features an automatic module loader that scans the filesystem using glob patterns to register dependencies based on filenames and exports. It supports parameter-name-based injection and proxy-based resolution to manage how dependencies are delivered to constructors and functions. The s

    TypeScriptawilixdependency-injectionioc
    View on GitHub↗4,088
  • jonataslaw/getxjonataslaw avatar

    jonataslaw/getx

    11,181View on GitHub↗

    GetX is a comprehensive state management framework for Flutter that provides a toolkit for managing application state, dependency injection, and routing without requiring build context. It serves as a core architectural system for reactive state management, navigation, service location, and multi-language theme support. The project is distinguished by its ability to handle context-free navigation and the use of observable variables that automatically trigger user interface updates. It features a dependency injection container with lazy loading and automated memory management, alongside a rout

    Dart
    View on GitHub↗11,181
  • uber-go/fxuber-go avatar

    uber-go/fx

    7,354View on GitHub↗

    Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model container that automates the instantiation and connection of components by analyzing constructor parameters and return values to resolve complex dependency graphs. The framework distinguishes itself through module-based component bundling, which encapsulates related constructors into reusable units to manage visibility and logic. It provides advanced resolution capabilities, including mapping concrete types to interfaces for decoupling, resolving dependency ambiguities via unique

    Goapp-frameworkdependency-injectionframework
    View on GitHub↗7,354
See all 30 alternatives to Container→

Frequently asked questions

What does php-fig/container do?

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.

What are the main features of php-fig/container?

The main features of php-fig/container are: Dependency Injection Containers, Interface Contract Implementations, PHP Standard Interface Implementations, Dependency Injection, Interoperability Specifications, Contract and Abstraction Patterns, Container Interface Standards, Interface Standardization.

What are some open-source alternatives to php-fig/container?

Open-source alternatives to php-fig/container include: symfony/contracts — This project is a PHP interface library that provides a component interoperability layer. It consists of a set of… jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized… uber-go/fx — Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model… jonataslaw/getx — GetX is a comprehensive state management framework for Flutter that provides a toolkit for managing application state,… dotnet/aspnetcore.docs — ASP.NET Core is a unified, cross-platform framework designed for building scalable web applications and services. It… loopbackio/loopback-next — LoopBack Next is a Node.js API framework used for building REST and multi-protocol APIs. It functions as an OpenAPI…