文档中的这个写法是强制转换吗?

在文档的绑定一节中有这样的代码

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

这里的 new \HelpSpot\API($app->make('HttpClient')); 中的\HelpSpot\API()是什么意思,是把$app->make('HttpClient')生成的实例强制转换成\HelpSpot\API类的实例吗?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

实例化 \HelpSpot\API() 类时传入参数类 $app->make('HttpClient'),这个参数取决于 \HelpSpot\API() 类中构造方法 __construct( 参数 ) 中的参数

3年前 评论
Agatha_killed_Sparky (楼主) 3年前
Su (作者) 3年前
讨论数量: 5

我明白了,就是new了一个 \HelpSpot\API 对象,$app->make('HttpClient') 对象是 \HelpSpot\API 类构造方法的参数而已。 这么说对吗

3年前 评论
随波逐流

哪里是什么强制转换啊, 这个就是 注入容器

3年前 评论

实例化 \HelpSpot\API() 类时传入参数类 $app->make('HttpClient'),这个参数取决于 \HelpSpot\API() 类中构造方法 __construct( 参数 ) 中的参数

3年前 评论
Agatha_killed_Sparky (楼主) 3年前
Su (作者) 3年前

这个具有延迟加载的效果 :eggplant:

3年前 评论

你理解的80%正确

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!