riak php7,Laravel中服务提供者的register和boot分别是干什么
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分别是干什么相关推荐
- 安全系列 —— 在 Laravel 中实现用户注册登录认证
简介 注:想要快速上手?只需要在新安装的 Laravel 应用下运行 php artisan make:auth 和 php artisan migrate,这两个命令会生成用户登录注册所需要的所有东 ...
- Laravel 中简约而不简单的 Macroable 宏指令
百度百科的定义: 计算机科学里的宏(Macro),是一种批量处理的称谓.一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是 ...
- Laravel 中简约而不简单的 Macroable 宏指令 1
百度百科的定义: 计算机科学里的宏(Macro),是一种批量处理的称谓.一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是 ...
- Laravel中Contracts的理解和使用
这两天详细的学习了下lavarel中Contracts和Facades这两部分内容.这一篇就先谈谈对contracts的理解和用法. Laravel 的 Contracts 是一组定义了框架核心服务的 ...
- 如何使用composer从Laravel中删除包?
本文翻译自:How to remove a package from Laravel using composer? What is the right way to remove a package ...
- php npm,php – Laravel中NPM,Composer和Bower的区别?
所以在Laravel有Composer,NPM和Bower,我知道他们都是deoendancy经理. Composer – 这似乎关注PHP依赖关系,包列表是composer.json的内容控制器.要 ...
- Laravel中优雅的验证日期需要大于今天
我们有时会碰到一个场景,比如买车票,需要进行查询车票剩余,这时候需要一个日期范围,开始日期必须大于等于今天,结束日期必须大于等于开始日期. Version Laravel 5.5.40 PHP 7.1 ...
- 如何在 Laravel 中 “规范” 的开发验证码发送功能
需求场景 发送「验证码」或者「消息通知」,可发送到手机或邮箱中. 完成 首先,在 Laravel 中的规范就是使用 Laravel 的「消息通知」,这里基于场景为「验证码」.这个需求几乎所有软件系统都 ...
- php调用nexmo发送短信,在 Laravel 中 “规范” 的开发短信验证码发送功能
Laravel简介 Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行 ...
最新文章
- Sql server 阻塞定位
- js 删除对象某个属性_JS里的数据类型
- geek 创业型网站
- UA OPTI570 量子力学8 每一个左矢都有与之对应的右矢吗?
- .1 matlab,1 MATLAB集成环境
- Linux改变文件和目录权限-chmodchown
- python单片机编程软件下载_Python开发例程大全
- androidpn的学习研究(一)androidpn-server服务端相关配置的常识
- 如果没有证据,判断一个事件的主谋的方法
- C#语言与三菱PLC串口通讯
- 荣耀9igoogle模式_初学者:如何从iGoogle切换回纯Google主页
- 为啥面试需要Aggressive?
- 第八十五章 Caché 函数大全 $ZDATETIME 函数
- cesium等高线_Cesium专栏-空间分析之地形等高线(附源码下载)
- Golang 实现定时任务
- Ubuntu下编译VeraCrypt
- 无穷小微积分词汇索引怎么使用?
- 入门学习-Python-小甲鱼学习资料-Day031-永久存储:腌制一缸美味的泡菜
- 一起来看看苹果新款MacBook:CPU质变
- oracle、MySQL日期转XX年XX月XX日日期格式和金钱转中文大写数字的方法
热门文章
- Huffman树学习
- AtCoder Beginner Contest 084(AB)
- Java访问权限的范围
- Android_项目文件结构目录分析
- Sublime Text 3实用快捷键大全
- [转]深入浅出Java设计模式之备忘录模式
- Asp.net页面生存周期
- android 展示星期方式,Android显示从一周到另一周的日期(星期四至星期四)
- 假定某一个数据列表是一个班级的计算机课程,若需要利用形参直接访问实参,则应把形参变量说明为()参数。A.指针B.引用C.传值D.常值...
- 天津天河计算机技术有限公司,“天河一号”超级计算机落户天津,命名为“天河”,取天津与“银河团队...