emerald/container

用于将容器应用于 PHP web 应用

dev-master 2023-01-22 18:13 UTC

This package is not auto-updated.

Last update: 2024-10-01 00:25:52 UTC


README

概述

容器用于创建依赖注入到应用程序中。简单 API,用于在 PHP 语言中使用,使用反射操作。提供对路由器和其他应用程序的支持。

示例

能够加载任何类

    $container = new Container();

    $instance = $container->get(Application::class);
    
    $result = $instance->implemented;
    //true

能够加载具有类依赖的类 $container = new Container();

    $instance = $container->get(ApplicationWithDependencies::class);

    $instance->implemented;
    //true

能够加载具有多个类依赖的类

    $container = new Container();

    $instance = $container->get(ApplicationWithMultiDependencies::class);

    $instance->anotherAppImplemented;
    //true

    $instance->appImplemented;
    //true

在容器上可用的接口 $container = new Container();

    $container->register(ApplicationInterface::class, Application::class);

    $instance = $container->get(ApplicationInterface::class);

    echo $instance->implemented;
    // true  

方法上的注入

    $container = new Container();

    $instance = $container->get(ApplicationWithDependencies::class);

    echo $instance->notImplemented;
    // false

带有本地参数的方法上的注入

    $container = new Container();

    $instance = $container->get(ApplicationWithDependencies::class);

    echo $instance->countNum(1);
    // 1