• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Laravel 类和接口注入相关的代码

    Laravel能够自动注入需要的依赖,对于自定义的类和接口是有些不同的。

    对于类,Laravel可以自动注入,但是接口的话需要创建相应的ServiceProvider注册接口和实现类的绑定,同时需要将ServiceProvider添加到congif/app.php的providers数组中,这样容器就能知道你需要注入哪个实现。

    现在自定义一个类myClass

    namespace App\library;

    class myClass {
    
     public function show() {
      echo __FUNCTION__.' Hello World';
     }
    }
    

    设置route

    Route::get('test/ioc', 'TestController@index');

    修改TestController

    class TestController extends Controller
    {
     public function index(myClass $myClass) {
      $myClass->show();
     }
    }

    访问http://localhost/test/ioc,能成功打印show Hello World。

    修改myClass

    class myClass implements like {
    
     public function play() {
      // TODO: Implement play() method.
      echo __FUNCTION__.' Hello Play';
     }
    }
    

    like接口

    interface like {
     public function play();
    }

    TestController

    class TestController extends Controller
    {
     public function index(like $like) {
      $like->play();
     }
    }

    如果还是访问上面的地址,会提示错误

    Target [App\library\like] is not instantiable.

    对于接口注入,我们需要在对应的ServiceProvider的register方法中注册,并将对应的ServiceProvider写入config/app的providers数组中。

    定义LikeServiceProvider

    class LikeServiceProvider extends ServiceProvider
    {
     public function boot()
     {
      //
     }
     public function register()
     {
      //
      $this->app->bind('App\library\like', 'App\library\myClass');
     }
    }

    之后我们需要将LikeServiceProvider添加到config\app.php文件的providers数组中。

    还是继续访问上述的地址,页面成功输出play Hello Play。

    以上这篇Laravel 类和接口注入相关的代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • 浅析PHP类的反射来实现依赖注入过程
    • php面试实现反射注入的详细方法
    • php中的依赖注入实例详解
    上一篇:在PHP中实现使用Guzzle执行POST和GET请求
    下一篇:laravel 如何实现引入自己的函数或类库
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Laravel 类和接口注入相关的代码 Laravel,类和,接口,注入,相关,