laravel php服务类,PHP_laravel_ServiceProvider测试实例

服务提供者 类似HTTP控制器,HTTP控制器用于为相关路由注册提供统一管理,而服务提供者为相关服务容器提供统一绑定场所。此外服务提供者还可以做一些初始化启动操作。Laravel的每个核心组件都对应一个服务提供者。核心组件类在这里完成注册、初始化以供后续调用。

1. 定义服务类

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

TestContract :

namespace App\Contracts;

interface TestContract

{

public function callMe($controller);

}

TestService :

namespace App\Services;

use App\Contracts\TestContract;

class TestService implements TestContract

{

public function callMe($controller)

{

dd('Call me From TestServiceProvider In'.$controller);

}

}

2. 创建服务提供者

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

php artisan make:provider TestServiceProvider

该命令会在app/Providers目录下生成一个TestServiceProvider.php文件:

namespace App\ServiceProvider;

use App\Services\TestService;

class TestServiceProvider extends ServiceProvider

{

public function boot()

{

}

public funxtion register()

{

//使用singleton绑定单例

$this->app->singleton('test',function(){

return new TestService();

});

//使用bind绑定实例到接口以便依赖注入

$this->app->bind('App\Contracts\TestContract',function(){

return new TestService();

});

}

}

基于Laravel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值