register方法

正如前面所提到的,在register方法中只绑定事物到服务容器,而不要做其他事情,否则,一不小心就能用到一个尚未被加载的服务提供者提供的服务。

现在让我们来看看一个基本的服务提供者长什么样:

namespace AppProviders;

use RiakConnection; use IlluminateSupportServiceProvider;

class RiakServiceProvider extends ServiceProvider{

/**

* 在容器中注册绑定.

*

* @return void

*/

public function register()

{

$this->app->singleton('Riak\Contracts\Connection', function ($app) {

return new Connection(config('riak'));

});

} } 该服务提供者只定义了一个register方法,并使用该方法在服务容器中定义了一个Riak\Contracts\Connection的实现。

boot方法

如果我们想要在服务提供者中注册视图composer该怎么做?这就要用到boot方法了。该方法在所有服务提供者被注册以后才会被调用,这就是说我们可以在其中访问框架已注册的所有其它服务:

namespace AppProviders;

use IlluminateSupportServiceProvider;

class EventServiceProvider extends ServiceProvider{

/**

* Perform post-registration booting of services.

*

* @return void

*/

public function boot()

{

view()->composer('view', function () {

//

});

}

/**

* 在容器中注册绑定.

*

* @return void

*/

public function register()

{

//

} } boot方法的依赖注入

我们可以在boot方法中类型提示依赖,服务容器会自动注册你所需要的依赖:

use IlluminateContractsRoutingResponseFactory;

public function boot(ResponseFactory $factory){

$factory->macro('caps', function ($value) {

//

}); }

riak php7,Laravel中服务提供者的register和boot分别是干什么相关推荐

  1. 安全系列 —— 在 Laravel 中实现用户注册登录认证

    简介 注:想要快速上手?只需要在新安装的 Laravel 应用下运行 php artisan make:auth 和 php artisan migrate,这两个命令会生成用户登录注册所需要的所有东 ...

  2. Laravel 中简约而不简单的 Macroable 宏指令

    百度百科的定义: 计算机科学里的宏(Macro),是一种批量处理的称谓.一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是 ...

  3. Laravel 中简约而不简单的 Macroable 宏指令 1

    百度百科的定义: 计算机科学里的宏(Macro),是一种批量处理的称谓.一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是 ...

  4. Laravel中Contracts的理解和使用

    这两天详细的学习了下lavarel中Contracts和Facades这两部分内容.这一篇就先谈谈对contracts的理解和用法. Laravel 的 Contracts 是一组定义了框架核心服务的 ...

  5. 如何使用composer从Laravel中删除包?

    本文翻译自:How to remove a package from Laravel using composer? What is the right way to remove a package ...

  6. php npm,php – Laravel中NPM,Composer和Bower的区别?

    所以在Laravel有Composer,NPM和Bower,我知道他们都是deoendancy经理. Composer – 这似乎关注PHP依赖关系,包列表是composer.json的内容控制器.要 ...

  7. Laravel中优雅的验证日期需要大于今天

    我们有时会碰到一个场景,比如买车票,需要进行查询车票剩余,这时候需要一个日期范围,开始日期必须大于等于今天,结束日期必须大于等于开始日期. Version Laravel 5.5.40 PHP 7.1 ...

  8. 如何在 Laravel 中 “规范” 的开发验证码发送功能

    需求场景 发送「验证码」或者「消息通知」,可发送到手机或邮箱中. 完成 首先,在 Laravel 中的规范就是使用 Laravel 的「消息通知」,这里基于场景为「验证码」.这个需求几乎所有软件系统都 ...

  9. php调用nexmo发送短信,在 Laravel 中 “规范” 的开发短信验证码发送功能

    Laravel简介 Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行 ...

最新文章

  1. Sql server 阻塞定位
  2. js 删除对象某个属性_JS里的数据类型
  3. geek 创业型网站
  4. UA OPTI570 量子力学8 每一个左矢都有与之对应的右矢吗?
  5. .1 matlab,1 MATLAB集成环境
  6. Linux改变文件和目录权限-chmodchown
  7. python单片机编程软件下载_Python开发例程大全
  8. androidpn的学习研究(一)androidpn-server服务端相关配置的常识
  9. 如果没有证据,判断一个事件的主谋的方法
  10. C#语言与三菱PLC串口通讯
  11. 荣耀9igoogle模式_初学者:如何从iGoogle切换回纯Google主页
  12. 为啥面试需要Aggressive?
  13. 第八十五章 Caché 函数大全 $ZDATETIME 函数
  14. cesium等高线_Cesium专栏-空间分析之地形等高线(附源码下载)
  15. Golang 实现定时任务
  16. Ubuntu下编译VeraCrypt
  17. 无穷小微积分词汇索引怎么使用?
  18. 入门学习-Python-小甲鱼学习资料-Day031-永久存储:腌制一缸美味的泡菜
  19. 一起来看看苹果新款MacBook:CPU质变
  20. oracle、MySQL日期转XX年XX月XX日日期格式和金钱转中文大写数字的方法

热门文章

  1. Huffman树学习
  2. AtCoder Beginner Contest 084(AB)
  3. Java访问权限的范围
  4. Android_项目文件结构目录分析
  5. Sublime Text 3实用快捷键大全
  6. [转]深入浅出Java设计模式之备忘录模式
  7. Asp.net页面生存周期
  8. android 展示星期方式,Android显示从一周到另一周的日期(星期四至星期四)
  9. 假定某一个数据列表是一个班级的计算机课程,若需要利用形参直接访问实参,则应把形参变量说明为()参数。A.指针B.引用C.传值D.常值...
  10. 天津天河计算机技术有限公司,“天河一号”超级计算机落户天津,命名为“天河”,取天津与“银河团队...