Laravel 服务容器学习

本文介绍如何在 Laravel 框架中通过服务提供者进行容器绑定,包括创建位置、注册流程及简单绑定示例。了解如何利用容器自身解析依赖,实现更灵活的代码结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

容器绑定创建位置

一般情况下载 app/Providers 下面 新建 AdminDataProvider.php
<?php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;  // 引入 服务提供者

class AdminDataProvider extends ServiceProvider // 继承服务提供者的类
{
	// 注册容器的位置
    public function register()
    {
    }
}

然后在 app/bootstrap/app.php 中注册 该容器
// 引入管理员服务
$app->register(App\Providers\AdminDataProvider::class);

例子

简单的绑定

在一个服务提供者中,可以通过 $this->app 变量访问容器,然后使用 bind 方法注册一个绑定,该方法需要两个参数,第一个参数是我们想要注册的类名或接口名称,第二个参数是返回类的实例的闭包:

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

注意到我们将容器本身作为解析器的一个参数,然后我们可以使用该容器来解析我们正在构建的对象的子依赖。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值