php - 請問服務容量的綁定初始數據具體如何實現

查看:127
本文介绍了php - 請問服務容量的綁定初始數據具體如何實現的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

服務容量的綁定初始數據的具體如何實現?
官方文檔寫得太精簡了,完全看不明白。

$this->app->when('App\Http\Controllers\UserController')
          ->needs('$variableName')
          ->give($value); 

能不能麻煩貼下具體的代碼。
另外,綁定初始數據是為了在其它位置傳值給類的構造函數嗎?如果不是,請問如何在服務容量中傳值給類的構造函數。
非常感謝!!

解决方案

首先,我们并不是一定要通过$this->app->xxx的方式来绑定实例到容器。方法有很多。
这样

$this->app->singleton('FooBar', function ($app) {
    return new FooBar($app->make('HttpClient'));
});

这样

$api = new HelpSpot\API(new HttpClient);
$this->app->instance('HelpSpot\Api', $api);

还有这样

$this->app->bind('HelpSpot\API', function ($app) {
    return new HelpSpot\API($app->make('HttpClient'));
});

綁定初始數據是為了在其它位置傳值給類的構造函數嗎

不是。提供初始数据是为了把参数传给我们要注入到容器里面的类构造函数

請問如何在服務容量中傳值給類的構造函數

如上面第二段代码所示,我们将new HttpClient这个参数,传给了HelpSpotAPI类的构造函数,另外两个例子也差不多。

如果还没解答到你的疑惑,请继续追问

参见:http://laravelacademy.org/pos...

这篇关于php - 請問服務容量的綁定初始數據具體如何實現的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆