zoukankan      html  css  js  c++  java
  • [PHP] 服务容器绑定接口测试

    laravel的入口文件那里,使用到了服务容器自动注入和绑定接口功能

    我简化后的测试代码如下:

    B是接口,A实现了B,C依赖B类型

    interface B{
        public function test();
    }
    class A implements B {
    
        public function test()
        {
            echo "A。。。
    ";
        }
    }
    class C{
        public function __construct(B $b)
        {
            echo "C类
    ";
            $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;

    开源作品

    GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
    github地址:go-fly
    官网地址:https://gofly.sopans.com

    赞赏作者

    微信交流

  • 相关阅读:
    老陈与小石头运算代码
    第五次作业
    老陈与小石头
    简易四则运算
    四则运算
    对git的认识
    第一次作业
    arcgis-tomcat-cors
    jquery deferred promise
    springloaded hot deploy
  • 原文地址:https://www.cnblogs.com/taoshihan/p/14902976.html
Copyright © 2011-2022 走看看