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

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Laravel如何创建服务器提供者实例代码

    前言

    Laravel服务器容器:是用于管理类依赖和执行依赖注入的工具。下面我们演示下如何创建服务器提供者,它是Laravel的核心。话不多说了,来一起看看详细的介绍吧

    在app/Contracts目录下创建TestContract.php文件,其内容为:

    ?php 
    namespace App\Contracts; 
    
    interface TestContract { 
     public function callMe($controller); 
    }

    在app/Services目录下创建TestService.php文件,其内容为:

    ?php 
    namespace App\Services; 
    use App\Contracts\TestContract; 
    
    class TestService implements TestContract { 
     public function callMe($controller){ 
     dd("Call me from TestServiceProvider in ".$controller); 
     } 
    }

    在config/app.php文件中providers中添加内容,以便进行注册:

    ... 
    App\Providers\RiakServiceProvider::class,

    创建1个服务提供类:

    php artisan make:provider RiakServiceProvider 

    其内容为:

    ?php 
    
    namespace App\Providers; 
    
    use App\Services\TestService; 
    use Illuminate\Support\ServiceProvider; 
    
    class RiakServiceProvider extends ServiceProvider 
    { 
     /** 
     * Bootstrap the application services. 
     * 
     * @return void 
     */ 
     public function boot() 
     { 
     // 
     } 
    
     /** 
     * Register the application services. 
     * 
     * @return void 
     */ 
     public function register() 
     { 
     $this->app->bind("App\Contracts\TestContract",function(){ 
      return new TestService(); 
     }); 
     } 
    }

    在ServiceProvider中提供了2个方法,其中register方法用于注册服务,而boot用于引导服务。

    在控制器IndxController中添加如下内容:

    ?php 
    
    namespace App\Http\Controllers; 
    
    use App; 
    use Illuminate\Http\Request; 
    use App\Contracts\TestContract; 
    
    class IndexController extends Controller 
    { 
     public function __construct(TestContract $test){ 
     $this->test = $test; 
     } 
     public function index(){ 
     $this->test->callMe("IndexController"); 
     } 
    }

    访问浏览器可以得到如下的结果:

    "Call me from TestServiceProvider in IndexController" 

    另外,还可以使用App的make方法进行调用。

    public function index(){ 
     $test = App::make('test'); 
     $test->callMe('IndexController'); 
     }

    其结果也是一样的。

    参考文章:

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • Laravel框架实现的rbac权限管理操作示例
    • Laravel5权限管理方法详解
    • Laravel 5 框架入门(二)构建 Pages 的管理功能
    • Laravel5.0+框架邮件发送功能实现方法图文与实例详解
    • Laravel框架集成UEditor编辑器的方法图文与实例详解
    • Laravel框架自定义验证过程实例分析
    • laravel5.3 vue 实现收藏夹功能实例详解
    • Laravel接收前端ajax传来的数据的实例代码
    • 在Laravel框架里实现发送邮件实例(邮箱验证)
    • Laravel路由设定和子路由设定实例分析
    • Laravel框架实现简单的学生信息管理平台案例【附源码下载】
    上一篇:详解如何实现Laravel的服务容器的方法示例
    下一篇:Linux下安装Memcached服务器和客户端与PHP使用示例
  • 相关文章
  • 

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

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

    Laravel如何创建服务器提供者实例代码 Laravel,如何,创建,服务器,