在laravel中,ioc控制反转是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度,就是一个类把自己的的控制权交给另外一个对象,类间的依赖由这个对象去解决。
本文操作环境:windows10系统、laravel6版、dell g3电脑。
laravel中ioc控制反转是什么控制反转(inversion of control,缩写为ioc),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。
其中最常见的方式叫做依赖注入(dependency injection,简称di),还有一种方式叫“依赖查找”(dependency lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它。
简单说来,就是一个类把自己的的控制权交给另外一个对象,类间的依赖由这个对象去解决。依赖注入属于依赖的显示申明,而依赖查找则是通过查找来解决依赖。
控制反转(ioc): 不需要自己内容修改,改成由外部传递。从依赖内部改为依赖外部。
控制反转(ioc):inversion of control,'控制'是对程序执行流程的控制,'反转'是没使用框架前,程序员自己控制整个程序执行,使用框架后,控制权从程序员反转到了框架。
注入一个类:
app::bind('foo', function($app){ return new foobar;});
这个例子的意思是创建一个别名为 foo 的类,使用时实际实例化的是 foobar。
使用这个类的方法是:
$value = app::make('foo');
$value 实际上是 foobar 对象。
如果希望使用单例模式来实例化类,那么使用:
app::singleton('foo', function(){ return new foobar;});
这样的话每次实例化后的都是同一个对象。
【相关推荐:laravel视频教程】
以上就是laravel中ioc控制反转是什么的详细内容。