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

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

$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类的实例吗?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

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

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

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

4年前 评论
随波逐流

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

4年前 评论

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

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

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

4年前 评论

你理解的80%正确

4年前 评论

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