houdunwang/container

This package is abandoned and no longer maintained. The author suggests using the houdunwang/container package instead.

IOC服务容器管理组件

v1.0.12 2017-10-10 12:21 UTC

This package is auto-updated.

Last update: 2020-05-22 09:23:52 UTC


README

IOC服务容器管理组件

##安装组件 使用 composer 命令进行安装或下载源代码使用。

composer require houdunwang/container

HDPHP 框架已经内置此组件,无需要安装

##使用 我们先定义一个测试类

class App{
    public function show(){return 'success';}
}

####注入单例对象

Container::instance('app', new App());
Container::make('app')->show();

####使用single注入单例

Container::single('app',function () {
        return new App();
});
Container::make('app')->show();

####使用bind注入到容器

Container::bind('app',function () {
    return new App();
});
Container::make('app')->show();

或可以真接创建容器对象进行注入

$container = new \houdunwang\container\build\Base();
$container->instance('app', new App());
$container['app']->show();

####调用类方法 调用类方法时组件会分析方法参数实现依赖注入

$res = Container::callMethod(App::class, 'show');

####调用函数 调用函数时组件会分析函数的参数实现依赖注入

$res = Container::callFunction(function (App $app) {
     return $app->show();
});