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

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

2018-03-11 14:28 501 查看
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 别名) 它会自动执行闭包 ;

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/banfang2013/article/details/54809317
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: