Service Provider
2015-09-10 15:51
148 查看
Service Provider
Service Provider 其实就是一段 启动程序 而已;它的主要作用是把类注册到ioc容器中去。Service Provider 里面有2个重要的方法,一个boot(), 一个是register(), 其实启动程序主要也就干这两件事,一个是加载各种文件,配置,一个是注册;
Laravel 5 有一个专门管启动的文件夹,bootstrap,Service Provider其实本质上属于那一块功能的,实际上你在bootstrap里面写加载注册逻辑都是可以的。
现在Service Provider 放到了app文件夹是为了更方便管理,L4的时候很多人不知道在哪里写这些逻辑。不像传统的加载写法,把很多东西写在一个文件里,service
provider可以建立很多个,你还可以为它们起名字,但是加载的时候其实都是一起加载的。
如果写了很多service provider,当然要在配置文件里配置一下,才能全部加载,于是你就看到 config/app.php 那里面一长串的service
provider列表,同时我们也发现了service provider分开写的好处,就是写第三方包的时候,可以互不干扰。
你看到service provider那么长一串列表,可能会担心把这些全部加载,特别是把这些类全部加载进ioc容器会影响速度,于是Laravel service
provider提供一个protected$defer=true;选项,可以智能加载,用的时候加载,不用的时候不加载,前提是在这个service
provider里boot()方法下没有写东西。
service provider 里面的注册方法register()先运行,boot()后运行,register() 就是注册Ioc容器的地方,只能写注册相关的内容
相关文章推荐
- C# Excel 为图表添加模拟运算表
- 0909对编译原理的理解
- MTK FAQ L nuplayer播放视频暂停被打断,再回到原播放界面,视频画面全黑
- uva 12086 - Potentiometers--树状数组
- java多线程通信之共享数据
- UVA 1616 - Caravan Robbers
- 基于hadoop的推荐算法-mahout版
- poj 1422&&hdoj 1151 Air Raid
- 广州#########
- yum更新时不升级内核的方法
- PHP基础面试题
- 0909我对编译原理的见解
- Hadoop
- CentOS 安装java环境
- Java反射
- MD5处理的字节流注意事项
- 新装VS2015后,创建ASP.NET 5预览版模版报错问题。
- java删除文件和文件夹
- iptables详解
- 转载:PKG_CONFIG_PATH变量 与 ld.so.conf 文件