laravel的核心思想:
服务容器:
容器:就是装东西的,laravel就是一个个的对象
放入:叫绑定
拿出:解析
使用容器的目的:这里面讲到的是IOC控制反转,主要是靠第三方来处理具体依赖关系的解耦.
比如:A依赖B
B会注入到IOC容器中,A在使用对象B的时候,是去IOC容器中去取出对象B,改为对象D,就可以直接使用了
依赖注入:就是一种设计思想,将一个实例变量传递到一个对象中去.laravel的实现是通过反射实现的
比如在controller 中我们只要使用request参数就可以取到request对象.(java中也有这个思想)
=======================控制反转======================================
laravel中是在文件\public\index.php中引入的bootstrap
我们来到bootstrap文件夹去看看,app.php
里面讲到的是把一些字符串绑定到对象中去.=---=---这就会绑定的过程.
然后回到\public]\index.php中
先获取容器->make->使用字符串获取对象
=====================================================================
服务提供者
绑定是由服务提供者来做,主要是通过两个方法来做
register() 他是在所有的服务提供者提供服务之前注册的
boot()他是在所有的服务提供者加载之后注册的
protected $defer = true 延时服务提供
以上都是在\config\app.php中提供的provider中
门脸模式
我们平常使用的类一般都是new 一个,或者是从容器中获取
而门脸模式可提供的类中提供了静态可调用的方法
比如:\request::all()
以上都是在\config\app.php中提供的,aliases中可以查找