awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
PHP-DI avatar

PHP-DI/PHP-DI

0
View on GitHub↗
2,773 stele·322 fork-uri·PHP·MIT·1 vizualizarephp-di.org↗

PHP DI

PHP-DI is an inversion of control container designed to manage object lifecycles and dependency resolution within PHP applications. It functions as a centralized registry that automates the wiring of components, allowing for the decoupling of services from their concrete implementations.

The library distinguishes itself by utilizing reflection to inspect class constructor signatures, enabling automatic dependency injection without requiring manual configuration for standard scenarios. It supports recursive resolution of dependency graphs and provides mechanisms for lazy object instantiation, which defers the creation of heavy services until they are accessed.

The framework facilitates modular application architecture through configuration composition, allowing developers to merge and override service definitions across multiple files. It also supports native code configuration, which ensures that service mappings remain compatible with standard static analysis tools, editor auto-completion, and refactoring workflows. Additionally, the container provides capabilities for dynamic function execution, where dependencies are automatically resolved and injected into callables at runtime.

Features

  • Dependency Injection Containers - Manages object instantiation and dependency resolution by inspecting type hints and configuration files in applications.
  • Reflection-Based Dependency Resolution - Inspects class constructor signatures at runtime to automatically identify and instantiate required dependencies without explicit configuration.
  • Dependency Injection Frameworks - Manages object lifecycles and class dependencies in applications by automatically resolving constructor parameters and service requirements at runtime.
  • Automatic Constructor Injection - Performs automatic dependency injection by resolving class constructor parameters through type-hint inspection.
  • Inversion-of-Control Containers - Automates the lifecycle and wiring of application objects to simplify complex dependency graphs.
  • Configuration Builders - Offers a chainable interface for defining service mappings that allows developers to override or extend definitions through modular configuration.
  • Lazy Loading - Defers the instantiation of heavy objects by injecting lightweight placeholders that trigger actual creation only upon first access.
  • Dynamic Method Invokers - Invokes callables and methods by automatically injecting required dependencies from a central registry to simplify complex logic.
  • Custom Object Instantiation - Provides lazy object instantiation using a factory pattern that resolves missing constructor dependencies only when they are needed.
  • Callable Wiring - Provides mechanisms for binding container providers directly to functions or methods to enable automatic dependency injection at runtime.
  • Modular Configuration Composition - Supports merging multiple configuration files and overriding existing definitions to extend or replace service registrations within complex architectures.
  • Native Code Configurations - Allows defining dependency mappings using standard language syntax to gain access to editor features like auto-completion and static analysis.
  • Recursive Dependency Resolution - Traverses the dependency graph by resolving nested requirements until all objects in the chain are fully instantiated.
  • Service Locators - Provides a registry for centralized access to application services and objects to decouple components from their concrete implementations.
  • Modular Application Architectures - Facilitates modular application architecture by composing multiple configuration files to override or extend service definitions across modules.

Istoric stele

Graficul istoricului de stele pentru php-di/php-diGraficul istoricului de stele pentru php-di/php-di

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Colecții curatoriate care includ PHP DI

Colecții selectate manual în care apare PHP DI.
  • PHP Dependency Injection Libraries

Alternative open-source pentru PHP DI

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu PHP DI.
  • ets-labs/python-dependency-injectorAvatar ets-labs

    ets-labs/python-dependency-injector

    4,805Vezi pe GitHub↗

    This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a

    Pythonaiohttpasynciodependency-injection
    Vezi pe GitHub↗4,805
  • uber-go/fxAvatar uber-go

    uber-go/fx

    7,354Vezi pe 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
    Vezi pe GitHub↗7,354
  • microsoft/tsyringeAvatar microsoft

    microsoft/tsyringe

    5,960Vezi pe GitHub↗

    tsyringe is a TypeScript dependency injection container and inversion of control framework. It decouples class implementations from object creation by managing dependencies and object lifecycles using decorators and metadata. The framework features a hierarchical container system where child containers can maintain independent registration scopes and fall back to parent containers for dependency resolution. It provides a provider system that controls object longevity through singleton and transient instantiation rules. The system supports recursive constructor injection and handles circular

    TypeScriptcontainerdecoratorsdependency
    Vezi pe GitHub↗5,960
  • jeffijoe/awilixAvatar jeffijoe

    jeffijoe/awilix

    4,088Vezi pe 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
    Vezi pe GitHub↗4,088
Vezi toate cele 30 alternative pentru PHP DI→

Întrebări frecvente

Ce face php-di/php-di?

PHP-DI is an inversion of control container designed to manage object lifecycles and dependency resolution within PHP applications. It functions as a centralized registry that automates the wiring of components, allowing for the decoupling of services from their concrete implementations.

Care sunt principalele funcționalități ale php-di/php-di?

Principalele funcționalități ale php-di/php-di sunt: Dependency Injection Containers, Reflection-Based Dependency Resolution, Dependency Injection Frameworks, Automatic Constructor Injection, Inversion-of-Control Containers, Configuration Builders, Lazy Loading, Dynamic Method Invokers.

Care sunt câteva alternative open-source pentru php-di/php-di?

Alternativele open-source pentru php-di/php-di includ: ets-labs/python-dependency-injector — This is a dependency injection framework and inversion of control container for Python. It decouples object creation… uber-go/fx — Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model… microsoft/tsyringe — tsyringe is a TypeScript dependency injection container and inversion of control framework. It decouples class… jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized… typestack/typedi — TypeDI is a TypeScript dependency injection container and inversion of control tool. It functions as a centralized… fuzhengwei/small-spring — Small-Spring is a simplified Java implementation of the Spring framework designed to study the internal architecture…