Laravel一些基本用法

2019-07-18  本文已影响0人  lifefruity
public function singleton($abstract, $concrete = null)
{
    $this->bind($abstract, $concrete, true);
}

bind是会返回新的实例,singleton始终返回一个(还是调用的bind,但是第三个参数是true,表示单例),具体看例子:

//bind()
class myclass{
    public $name = null;
}

$container = new Illuminate\Container\Container();
$container->bind('myclass');

$obj1 = $container->make('myclass');
$obj1->name = '11';
$obj2 = $container->make('myclass');
$obj2->name = '22';
echo $obj1->name."-".$obj2->name;//输出11-22

//singleton()
class myclass{
    public $name = null;
}

$container = new Illuminate\Container\Container();
$container->singleton('myclass');

$obj1 = $container->make('myclass');
$obj1->name = '11';
$obj2 = $container->make('myclass');
$obj2->name = '22';
echo $obj1->name."-".$obj2->name;//输出22-22

由此可见singleton是单例。

上一篇 下一篇

猜你喜欢

热点阅读