Laravel中怎么利用Provider 创建 Service
admin
2023-06-13 21:42:26
0

1、定义服务类

我们这里先定义一个绑定到容器的测试类TestService,为了对类的定义加以约束,我们同时还定义一个契约接口TestContract

Laravel中怎么利用Provider 创建 Service

定义TestService如下:

Laravel中怎么利用Provider 创建 Service

2、创建服务提供者

接下来我们定义一个服务提供者TestServiceProvider用于注册该类到容器。创建服务提供者可以使用如下Artisan命令:

Laravel中怎么利用Provider 创建 Service

该命令会在app/Providers目录下生成一个TestServiceProvider.php文件,我们编辑该文件内容如下:

Laravel中怎么利用Provider 创建 Service

3、注册服务提供者

定义完服务提供者类后,接下来我们需要将该服务提供者注册到应用中,很简单,只需将该类追加到配置文件config/app.phpproviders数组中即可:

Laravel中怎么利用Provider 创建 Service

4、测试服务提供者

这样我们就可以在应用中使用该服务提供者了,为了测试该服务提供者我们首先使用Artisan命令创建一个资源控制器TestController

php artisan make:controlle TestController --resource  // 该命令创建资源控制器

然后在路由配置文件routes.php中定义路由:


Laravel中怎么利用Provider 创建 Service

最后去TestController中编写测试代码:

Laravel中怎么利用Provider 创建 Service

注意: 在控制器中的构造函数中

Laravel中怎么利用Provider 创建 Service

返回TestService实例是因为在TestServiceProvider中进行了绑定,在callback函数中实例化了TestService这个类并且返回

然后我们去浏览器中访问http://laravel.app:8000/test,分别测试使用App::make和依赖注入解析绑定类调用callMe方法的输出,结果一样,都是

Laravel中怎么利用Provider 创建 Service

相关内容

热门资讯

原创 种... 你以为小红书只能种草。 小红书却想为你种“同事”。 24日,小红书科技薯发布公告称,小红书笔记已开...
特朗普提出要求,巴基斯坦拒绝 △巴基斯坦国防部部长阿西夫(资料图)当地时间5月26日,巴基斯坦国防部部长阿西夫表示,巴基斯坦不会加...
中国软件评测中心:预测今年中国... 5 月 26 日消息,据央视新闻报道,中国软件评测中心今日发布了《智能养老服务机器人产业演进与未来趋...
三星S26 FE渲染图曝光 外... 【CNMO科技消息】近日,三星S26 FE的配件模具信息在网上流出,基于保护壳模具绘制的渲染图也首次...
莱迪生电子取得多功能安装支架专... 国家知识产权局信息显示,宁波莱迪生电子科技有限公司取得一项名为“一种多功能安装支架”的专利,授权公告...
愤怒民众试图抢回亲人遗体,警方... 随着埃博拉疫情在刚果(金)蔓延,当地混乱的局势和丧葬习俗让疫情防控工作更加难以开展,也导致病毒的蔓延...
重庆永川遭遇特大暴雨,67岁会... 5月26日上午11点多,潇湘晨报·晨视频记者从重庆市委宣传部获悉,在重庆永川区茶山竹海街道大桥村特大...
陈克明为“手擀”商标道歉,40... 极目新闻评论员 屈旌一袋挂面能藏着多少的心眼?陈克明以40年商誉为代价,给出了一个令人唏嘘的答案。近...
荆州鸿创机械取得折弯机用挡料机... 国家知识产权局信息显示,荆州鸿创机械制造有限公司取得一项名为“一种折弯机用挡料机构”的专利,授权公告...
领雁科技数智渠道5.0:助力银... 5月23日,信华信集团举办三十周年庆典,同期召开“智敬未来·深度经营——领雁AI+金融科技创新产品发...