awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to php-di/php-di

Open-source alternatives to PHP DI

30 open-source projects similar to php-di/php-di, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best PHP DI alternative.

  • ets-labs/python-dependency-injectorets-labs 的头像

    ets-labs/python-dependency-injector

    4,805在 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
    在 GitHub 上查看↗4,805
  • uber-go/fxuber-go 的头像

    uber-go/fx

    7,354在 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
    在 GitHub 上查看↗7,354
  • microsoft/tsyringemicrosoft 的头像

    microsoft/tsyringe

    5,960在 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
    在 GitHub 上查看↗5,960

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Find more with AI search
  • jeffijoe/awilixjeffijoe 的头像

    jeffijoe/awilix

    4,088在 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
    在 GitHub 上查看↗4,088
  • typestack/typeditypestack 的头像

    typestack/typedi

    4,242在 GitHub 上查看↗

    TypeDI is a TypeScript dependency injection container and inversion of control tool. It functions as a centralized registry and service locator that manages object instantiation and decouples component dependencies using type inference and decorators. The project provides scoped dependency management to isolate service instances within specific contexts, preventing data leakage between different execution flows. It supports flexible service resolution through the use of type-safe tokens and the ability to map unique identifiers or class constructors to specific service instances. The contain

    TypeScriptdependency-injectioninversion-of-controlioc
    在 GitHub 上查看↗4,242
  • fuzhengwei/small-springfuzhengwei 的头像

    fuzhengwei/small-spring

    4,899在 GitHub 上查看↗

    Small-Spring is a simplified Java implementation of the Spring framework designed to study the internal architecture of inversion of control containers and dependency injection frameworks. It functions as a bean container that manages object lifecycles and resolves dependencies through automated instantiation and property injection. The project implements a mechanism for intercepting method calls using dynamic proxies to support aspect-oriented programming. It separates cross-cutting concerns from business logic by wrapping target objects to modify method executions. The system covers compon

    Java
    在 GitHub 上查看↗4,899
  • alexeymezenin/laravel-best-practicesalexeymezenin 的头像

    alexeymezenin/laravel-best-practices

    12,299在 GitHub 上查看↗

    This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable applications within the Laravel framework. It focuses on clean code standards, applying the single responsibility and DRY principles to ensure codebase predictability and consistency. The guide emphasizes decoupling components by moving business logic into service layers and shifting input validation into dedicated request classes to keep controllers lean. It advocates for the use of a service container and dependency injection to reduce class coupling and improve testability. The

    在 GitHub 上查看↗12,299
  • derekyrc/mini-springDerekYRC 的头像

    DerekYRC/mini-spring

    6,360在 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
    在 GitHub 上查看↗6,360
  • liangxiegame/qframeworkliangxiegame 的头像

    liangxiegame/QFramework

    5,163在 GitHub 上查看↗

    QFramework is a Unity game architecture framework designed to separate presentation, system, and data logic. It implements a layered software architecture to manage complex game states and provides a game engine utility library to reduce boilerplate code. The framework is centered on the Command Query Responsibility Segregation pattern, which separates data modification commands from data retrieval queries. It utilizes a dependency injection container to manage the lifecycles and resolution of singletons and modular components, alongside an event-driven system for state synchronization to pre

    C#frameworksgame-devgodot
    在 GitHub 上查看↗5,163
  • autofac/autofacautofac 的头像

    autofac/Autofac

    4,649在 GitHub 上查看↗

    Autofac is a dependency injection framework and inversion of control container for .NET. It functions as a component registration engine that decouples class implementations from their dependencies by injecting required services via constructors or properties. The project includes an assembly scanning library to automatically discover and register components within compiled binaries based on specific type criteria. It provides a service lifetime manager to control object memory duration using singletons, instance-per-dependency, or isolated request scopes. The framework covers a broad range

    C#autofacc-sharpdependency-injection
    在 GitHub 上查看↗4,649
  • facebookarchive/injectfacebookarchive 的头像

    facebookarchive/inject

    1,408在 GitHub 上查看↗

    Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging runtime reflection, the library dynamically inspects object structures to resolve and populate required dependencies, decoupling component initialization from business logic. The framework manages object lifecycles through both singleton and factory-based provisioning. It maintains a central registry to share singletons across an application for consistent state, while also supporting the creation of unique, private instances to isolate state between different components. To

    Go
    在 GitHub 上查看↗1,408
  • codegangsta/injectcodegangsta 的头像

    codegangsta/inject

    978在 GitHub 上查看↗

    Inject is a dependency injection library for Go that manages object lifecycles and wires application components by automating the provision of dependencies. It functions as a reflection-based container that maps specific values to their corresponding types, enabling the automatic retrieval and injection of objects into application logic. The library distinguishes itself through its ability to perform automatic function invocation, where it inspects function signatures at runtime to resolve and provide required arguments from a central registry. It also supports struct field injection, which p

    Go
    在 GitHub 上查看↗978
  • apple/containerapple 的头像

    apple/container

    37,726在 GitHub 上查看↗

    This project serves as a technical educational resource and software implementation example focused on dependency injection architecture and containerized application packaging. It provides a centralized framework for managing the lifecycle and configuration of application components, allowing objects to receive their dependencies from a registry rather than creating them internally. The project distinguishes itself by offering a type-safe service resolution mechanism that uses language-level information to map abstract interfaces to concrete implementations. By utilizing an inversion of cont

    Swift
    在 GitHub 上查看↗37,726
  • insertkoinio/koinInsertKoinIO 的头像

    InsertKoinIO/koin

    9,992在 GitHub 上查看↗

    Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves dependencies through a lightweight container. It functions as a multiplatform library, allowing shared object definitions and resource bindings to be reused across different target platforms and source sets. The framework provides a system for resolving dependencies directly within user interface components to decouple business logic from view implementations. It includes a compile-time dependency validator that analyzes dependency graphs during the build process to detect missing bindi

    Kotlinandroiddependency-injectioninjection
    在 GitHub 上查看↗9,992
  • inversify/inversifyjsinversify 的头像

    inversify/InversifyJS

    12,066在 GitHub 上查看↗

    InversifyJS is an inversion of control framework and dependency injection library for TypeScript. It provides a centralized container to manage object lifecycles and automate the instantiation of classes and their dependencies. The library decouples software components by mapping unique identifiers to concrete implementations. This architecture separates object creation from business logic and allows for the replacement of real service implementations with mock objects during unit testing. The framework utilizes TypeScript decorators to provide metadata-driven injection and recursive depende

    TypeScript
    在 GitHub 上查看↗12,066
  • zendframework/zendframeworkzendframework 的头像

    zendframework/zendframework

    5,441在 GitHub 上查看↗

    Zend Framework is a comprehensive set of decoupled components for building modular, event-driven web applications. It implements an MVC architecture to separate business logic from the user interface and provides a structured request-handling system through a sequential middleware pipeline. The project features a factory-driven dependency injection container to automate object instantiation and manage class lifecycles. It also includes a comprehensive security suite for verifying user identities and restricting resource access using access control lists and role-based access control adapters.

    在 GitHub 上查看↗5,441
  • mvvmcross/mvvmcrossMvvmCross 的头像

    MvvmCross/MvvmCross

    3,917在 GitHub 上查看↗

    MvvmCross is a .NET MVVM framework designed for building cross-platform applications by separating business logic from native user interfaces. It functions as a navigation engine and a UI data binding library, enabling the encapsulation of logic within view models that are reused across different operating systems. The framework provides a native hardware abstraction layer and a dependency injection container to decouple components and provide a consistent interface for accessing device features. It coordinates type-safe transitions between native screens and manages the synchronization of da

    C#androidc-sharpdotnet
    在 GitHub 上查看↗3,917
  • ardalis/cleanarchitectureardalis 的头像

    ardalis/CleanArchitecture

    18,291在 GitHub 上查看↗

    CleanArchitecture is a project template for ASP.NET Core designed to establish a standardized foundation for enterprise applications. It enforces architectural boundaries by separating core business logic from infrastructure and external dependencies, ensuring that the domain remains independent of technical concerns. The project provides scaffolding that supports both multi-project solutions for complex systems and single-project vertical slices for simpler requirements. By organizing code around business entities and aggregates, it facilitates modular development where distinct parts of a s

    C#architectureclean-architecturecsharp
    在 GitHub 上查看↗18,291
  • bcit-ci/codeigniterbcit-ci 的头像

    bcit-ci/CodeIgniter

    18,171在 GitHub 上查看↗

    CodeIgniter is an open-source PHP web framework and application toolkit designed for server-side development. It implements a model-view-controller architecture to separate internal data representations from the user interface. The framework utilizes a front-controller architecture to direct all incoming web requests through a single entry point for URI parsing and request dispatching. It includes a dependency injection container to resolve class dependencies and manage the lifecycle of core system components. The toolkit provides capabilities for routing management, database interactions, a

    PHPphpphp-frameworkphp7
    在 GitHub 上查看↗18,171
  • yiisoft/yii2yiisoft 的头像

    yiisoft/yii2

    14,298在 GitHub 上查看↗

    Yii2 is a professional PHP web framework designed for developing high-performance, scalable enterprise web applications. It utilizes a Model-View-Controller architecture to separate data logic, user interfaces, and request handling, ensuring maintainability for large-scale projects. The framework includes a built-in PHP code generator that automates the creation of boilerplate controllers and models by scanning database schemas. It provides an Active Record object-relational mapping system where classes represent tables and instances represent rows to manage data persistence. Additional capa

    PHP
    在 GitHub 上查看↗14,298
  • code4craft/tiny-springcode4craft 的头像

    code4craft/tiny-spring

    4,089在 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
    在 GitHub 上查看↗4,089
  • airtai/faststreamairtai 的头像

    airtai/faststream

    5,234在 GitHub 上查看↗

    FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified abstraction layer for interacting with various message brokers, enabling developers to manage event production and consumption through a consistent interface while maintaining access to native provider-specific features. The framework centers on a decorator-based routing model that binds application logic directly to broker topics, supported by a built-in dependency injection container that resolves resources at runtime. The framework distinguishes itself through its deep int

    Python
    在 GitHub 上查看↗5,234
  • flutterando/modularFlutterando 的头像

    Flutterando/modular

    1,381在 GitHub 上查看↗

    Modular is a framework for the Flutter ecosystem that provides a structured approach to application architecture through module-based dependency injection and navigation management. It enables developers to organize complex codebases into independent, decoupled units, facilitating the management of shared services and object lifecycles within specific application scopes. The framework distinguishes itself by offering hierarchical dependency scoping and lazy resolution, which allow for the automatic creation and disposal of objects based on the active module or page lifecycle. It also features

    Dart
    在 GitHub 上查看↗1,381
  • spring-projects/spring-frameworkspring-projects 的头像

    spring-projects/spring-framework

    60,056在 GitHub 上查看↗

    Spring Framework is an enterprise Java framework providing a comprehensive infrastructure for building server-side applications. It functions as a dependency injection container and a Java application framework designed to support scalable backend development through modular architecture. The project provides tools for aspect-oriented programming to intercept method calls using dynamic proxies, allowing the application of cross-cutting concerns such as security and transactions. It also includes a centralized system for managing object lifecycles and coordinating component wiring by injecting

    Javaframeworkspringspring-framework
    在 GitHub 上查看↗60,056
  • google/wiregoogle 的头像

    google/wire

    14,403在 GitHub 上查看↗

    Wire is a compile-time dependency injection framework for Go that generates code to wire application components together. It analyzes function signatures at compile time to build an explicit initialization graph, removing the need for runtime reflection or manual wiring code. The framework operates as a Go code generator and static analysis tool, transforming annotated source code into generated wire files that compile alongside the original project. It connects dependencies by matching function parameters and return types, producing a directed acyclic graph of component dependencies that is

    Gocodegendependency-injectiongo
    在 GitHub 上查看↗14,403
  • swinject/swinjectSwinject 的头像

    Swinject/Swinject

    6,708在 GitHub 上查看↗

    Swinject is a dependency injection framework for Swift that manages object creation and wiring through a centralized container. It resolves dependencies by looking up registered service types at runtime, supporting iOS, macOS, and Linux platforms. The framework provides multiple injection patterns, including initializer injection where dependencies are passed through initializer parameters, property injection that sets resolved dependencies on stored properties after object creation, and method injection that calls methods with resolved dependencies as arguments. It handles complex dependency

    Swiftdependency-injectiondi-containerinversion-of-control
    在 GitHub 上查看↗6,708
  • ityouknow/spring-boot-examplesityouknow 的头像

    ityouknow/spring-boot-examples

    30,567在 GitHub 上查看↗

    This repository serves as a comprehensive collection of practical demonstrations and tutorials for building enterprise-ready Java applications using the Spring Boot framework. It provides structured guidance on core development topics, including the implementation of inversion-of-control containers, auto-configuration mechanisms, and convention-over-configuration patterns to simplify the assembly of complex systems. The project distinguishes itself by offering implementation patterns for diverse architectural requirements, such as microservices development, reactive programming models for hig

    Javadockerdocker-composerfastdfs
    在 GitHub 上查看↗30,567
  • emberjs/ember.jsemberjs 的头像

    emberjs/ember.js

    22,566在 GitHub 上查看↗

    Ember.js is a structured JavaScript web framework designed for building scalable web applications. It utilizes a Model-View-Controller architectural pattern and incorporates a component-based UI library, a dependency injection framework, and a client-side routing engine. The framework distinguishes itself through a centralized registry for passing shared services across components and routes, alongside a routing system that maps URLs directly to templates and data models to manage navigation. Its broader capabilities include reactive state synchronization and computation memoization for UI p

    TypeScript
    在 GitHub 上查看↗22,566
  • android/architecture-samplesandroid 的头像

    android/architecture-samples

    45,719在 GitHub 上查看↗

    This project is a collection of reference implementations demonstrating recommended patterns for organizing code and managing data flow in Android applications. It provides structural examples of layered architecture, separating code into presentation, domain, and data layers to decouple business logic from data sources. The repository includes specific samples for implementing declarative user interfaces that automatically update their visual state based on underlying data changes. It further demonstrates how to manage object lifetimes and component dependencies to reduce boilerplate and sim

    Kotlinandroidandroid-architecturesamples
    在 GitHub 上查看↗45,719
  • midwayjs/midwaymidwayjs 的头像

    midwayjs/midway

    7,722在 GitHub 上查看↗

    Midway is a suite of backend frameworks for Node.js designed to build enterprise microservices and full-stack applications. It centers on a dependency injection architecture using an inversion-of-control container and decorators to organize complex business logic and maintainable server-side structures. The framework provides multi-protocol support for HTTP, gRPC, and WebSockets, allowing a single environment to handle diverse service-to-service networking requirements. It also includes a multi-runtime adapter layer that enables applications to be deployed across traditional containers and va

    TypeScript
    在 GitHub 上查看↗7,722