• Lumen开发:如何向 IoC 容器中添加自己定义的类


    版权声明:本文为博主原创文章,未经博主允许不得转载。

    先在起始文件bootstrap/app.php加上$app->register(AppProvidersUserUserServiceProvider::class);

    /*
    | --------------------------------------------------------------------------
    |登记服务提供商
    | --------------------------------------------------------------------------
    |
    |这里我们将登记所有的应用服务提供商
    |用于绑定到容器服务。服务提供商
    |完全可选的,所以你不需要注释掉这行。
    |
    */
    
    // $app->register(AppProvidersAuthServiceProvider::class);
    // $app->register(AppProvidersEventServiceProvider::class);
    $app->register(DingoApiProviderLumenServiceProvider::class);
    $app->register(BarryvdhLaravelIdeHelperIdeHelperServiceProvider::class);
    
    $app->register(AppProvidersUserUserServiceProvider::class);
    

    app/Providers/User/UserServiceProvider.php

    <?php
    
    namespace AppProvidersUser;
    
    use IlluminateSupportServiceProvider;
    
    class UserServiceProvider extends ServiceProvider
    {
        /**
         * Bootstrap the application services.(引导应用程序服务。)
         *
         * @return void
         */
        public function boot()
        {
            //
        }
    
        /**
         * Register the application services.(注册应用程序服务。)
         *
         * @return void
         */
        public function register()
        {
            //
            $this->app->bind('user',function(){
                return new UserFactory();
            });
        }
    }
    

    app/Providers/User/UserFactory.php

    <?php
    namespace AppProvidersUser;
    
    class UserFactory
    {
        public function Test(){
            return 'test';
        }
        
    }
    

    然后用下面的方法调用

    app('user')->test();
    

    输出test,则表示成功了!

    Lumen技术交流群:310493206

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    shell读取或者修改ini文件
    Linux--查询文件的第几行到第几行命令
    python读写修改配置文件(ini)
    Django REST framework 的TokenAuth认证及外键Serializer基本实现
    vue2.0+webpack+vuerouter+vuex+axios构建项目基础
    Zabbix 监控Windows磁盘IO
    磁盘 I/O 性能监控指标和调优方法
    linux查看与修改交换内存配置(解决zabbix-agent启动报错)
    js中的Map对象的简单示例
    Idea 怎么远程debug
  • 原文地址:https://www.cnblogs.com/cxscode/p/7569856.html
Copyright © 2020-2023  润新知