您的位置:首页 > 编程语言 > PHP开发

对 laravel 中服务提供者(Provider)和 门面(Facades) 的理解

2017-02-01 16:24 295 查看
Facades 先于 Provider 注册 所以 Facades 里的 类都可以引用 ;
Provider 中的 register 先于boot 执行 ;
在register 中 注册新的类 singleton方法是 闭包 只执行一次 , 定制多样类 使用 bind ;
创建provider  后再添加到 config/app.php的providers数组中即可 ;
创建Facades 先创建一个 门面类这个类名就是新名字  需要到配置文件config/app.php中注册门面类别名;
注意命名空间;

Facades 和 Provider 的关系 ?

服务提供者用于绑定一个类至容器 , 而Facades 是给这个类起个别名;

一个新的类完全可以直接通过控制器去实例化 为什么 还通过服务提供者  ?

服务容器就是解决你的依赖 , 放着容器不用 ,直接通过控制器注入, 随着项目越来越大 , 依赖越来越多 , 怎么维护 ;

其它 :

 一个类的调用 第一种方法 直接在控制器中 use命名空间后 , new 一个对象 , 第二种是在Provider 中注册一个类, 在控制器中 App::make() 实例化这个类 , 当使用Facade别名以后 , 方法调用是 别名::方法 (注意use 别名) 它会自动执行闭包 ;<
4000
/p>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  laravel