[PHP] 服务容器绑定接口测试
2023-02-18 15:41:27 时间
laravel的入口文件那里,使用到了服务容器自动注入和绑定接口功能
我简化后的测试代码如下:
B是接口,A实现了B,C依赖B类型
interface B{ public function test(); } class A implements B { public function test() { echo "A。。。\n"; } } class C{ public function __construct(B $b) { echo "C类\n"; $b->test(); } } $app->singleton( B::class, A::class ); $c=$app->singleton( C::class ); //$b=$app->make(B::class); //$b->test(); $c=$app->make(C::class); $d=$app->make(C::class); var_dump($c,$d);die;
容器绑定C
$c=$app->singleton( C::class );
从容器获取C,因为是单例的,两个对象是一样的,并且成功调起了A中的方法
C类 A。。。 object(C)#27 (0) { } object(C)#27 (0) { }
$c=$app->make(C::class);
$d=$app->make(C::class);
var_dump($c,$d);die;
相关文章
- centos7上安装Docker
- 莱特币(LTC)开发环境搭建
- netty中使用protobuf实现多协议的消息
- proto3语法记录
- redis5集群搭建步骤
- 将博客搬至CSDN
- nio之缓冲区(Buffer)理解
- netty实现websocket发送文本和二进制数据
- springboot整合rabbitmq实现生产者消息确认、死信交换器、未路由到队列的消息
- RabbitMQ的一些理解和笔记
- springboot 整合 rabbitmq
- spring整合rabbitmq
- rabbitmq死信队列和延时队列的使用
- rabbitmq生产者消息确认
- 基于RequestBodyAdvice和ResponseBodyAdvice来实现spring中参数的加密和解密
- spring social实现百度登录
- freemarker中使用String字符串作为模板
- RabbitMQ处理未被路由的消息
- 使用jave2实现将wav格式的音频转换成mp3格式
- gson中TypeAdapter实现自定义序列化操作