Skip to content

[Lumen 5.3] Unresolvable dependency resolving #15950

@kLkA

Description

@kLkA
  • Laravel Version: 5.3.1
  • PHP Version: PHP 7.0.9 and 7.0.11

Description:

I have error:

{"message":"Unresolvable dependency resolving [Parameter #0 [ <required> $app ]] in class Illuminate\\Support\\ServiceProvider","status_code":500,"debug":
{"line":850,"file":"\/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php","class":"Illuminate\\Contracts\\Container\\BindingResolutionException","trace":["#0 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(817): Illuminate\\Container\\Container->resolveNonClass(Object(ReflectionParameter))","#1 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(788): Illuminate\\Container\\Container->getDependencies(Array, Array)","#2 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(644): Illuminate\\Container\\Container->build('App\\\\Providers\\\\N...', Array)","#3 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Application.php(211): Illuminate\\Container\\Container->make('App\\\\Providers\\\\N...', Array)","#4 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(231): Laravel\\Lumen\\Application->make('App\\\\Providers\\\\N...', Array)","#5 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(746): Illuminate\\Container\\Container->Illuminate\\Container\\{closure}(Object(Laravel\\Lumen\\Application), Array)","#6 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(644): Illuminate\\Container\\Container->build(Object(Closure), Array)","#7 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Application.php(211): Illuminate\\Container\\Container->make('App\\\\Contracts\\\\N...', Array)","#8 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(864): Laravel\\Lumen\\Application->make('App\\\\Contracts\\\\N...')","#9 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(819): Illuminate\\Container\\Container->resolveClass(Object(ReflectionParameter))","#10 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(788): Illuminate\\Container\\Container->getDependencies(Array, Array)","#11 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/container\/Container.php(644): Illuminate\\Container\\Container->build('App\\\\Http\\\\Contro...', Array)","#12 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Application.php(211): Illuminate\\Container\\Container->make('App\\\\Http\\\\Contro...', Array)","#13 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Routing\/Route.php(318): Laravel\\Lumen\\Application->make('App\\\\Http\\\\Contro...')","#14 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Routing\/Route.php(180): Dingo\\Api\\Routing\\Route->makeControllerInstance()","#15 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Routing\/Route.php(163): Dingo\\Api\\Routing\\Route->mergeControllerProperties()","#16 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Routing\/Route.php(142): Dingo\\Api\\Routing\\Route->setupRouteProperties(Object(Dingo\\Api\\Http\\Request), Array)","#17 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Routing\/Router.php(713): Dingo\\Api\\Routing\\Route->__construct(Object(Dingo\\Api\\Routing\\Adapter\\Lumen), Object(Laravel\\Lumen\\Application), Object(Dingo\\Api\\Http\\Request), Array)","#18 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Routing\/Router.php(691): Dingo\\Api\\Routing\\Router->createRoute(Array)","#19 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Routing\/Router.php(701): Dingo\\Api\\Routing\\Router->getCurrentRoute()","#20 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Http\/Middleware\/PrepareController.php(43): Dingo\\Api\\Routing\\Router->current()","#21 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/pipeline\/Pipeline.php(137): Dingo\\Api\\Http\\Middleware\\PrepareController->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))","#22 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))","#23 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Routing\/Pipeline.php(32): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))","#24 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/pipeline\/Pipeline.php(104): Laravel\\Lumen\\Routing\\Pipeline->Laravel\\Lumen\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))","#25 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Concerns\/RoutesRequests.php(647): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))","#26 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Concerns\/RoutesRequests.php(493): Laravel\\Lumen\\Application->sendThroughPipeline(Array, Object(Closure))","#27 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Concerns\/RoutesRequests.php(467): Laravel\\Lumen\\Application->handleFoundRoute(Array)","#28 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Concerns\/RoutesRequests.php(398): Laravel\\Lumen\\Application->handleDispatcherResponse(Array)","#29 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Concerns\/RoutesRequests.php(650): Laravel\\Lumen\\Application->Laravel\\Lumen\\Concerns\\{closure}()","#30 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Concerns\/RoutesRequests.php(400): Laravel\\Lumen\\Application->sendThroughPipeline(Array, Object(Closure))","#31 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Routing\/Adapter\/Lumen.php(103): Laravel\\Lumen\\Application->dispatch(Object(Dingo\\Api\\Http\\Request))","#32 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Routing\/Router.php(574): Dingo\\Api\\Routing\\Adapter\\Lumen->dispatch(Object(Dingo\\Api\\Http\\Request), 'v1')","#33 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Http\/Middleware\/Request.php(123): Dingo\\Api\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))","#34 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/pipeline\/Pipeline.php(151): Dingo\\Api\\Http\\Middleware\\Request->Dingo\\Api\\Http\\Middleware\\{closure}(Object(Dingo\\Api\\Http\\Request))","#35 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/pipeline\/Pipeline.php(104): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))","#36 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Http\/Middleware\/Request.php(124): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))","#37 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/dingo\/api\/src\/Http\/Middleware\/Request.php(100): Dingo\\Api\\Http\\Middleware\\Request->sendRequestThroughRouter(Object(Dingo\\Api\\Http\\Request))","#38 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/pipeline\/Pipeline.php(137): Dingo\\Api\\Http\\Middleware\\Request->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))","#39 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))","#40 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Routing\/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))","#41 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/illuminate\/pipeline\/Pipeline.php(104): Laravel\\Lumen\\Routing\\Pipeline->Laravel\\Lumen\\Routing\\{closure}(Object(Illuminate\\Http\\Request))","#42 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Concerns\/RoutesRequests.php(647): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))","#43 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Concerns\/RoutesRequests.php(400): Laravel\\Lumen\\Application->sendThroughPipeline(Array, Object(Closure))","#44 \/Users\/dmitriy\/Sites\/laravel_test\/vendor\/laravel\/lumen-framework\/src\/Concerns\/RoutesRequests.php(341): Laravel\\Lumen\\Application->dispatch(NULL)","#45 \/Users\/dmitriy\/Sites\/laravel_test\/public\/index.php(28): Laravel\\Lumen\\Application->run()","#46 {main}"]}}

Steps To Reproduce:

Hello, i was trying to bind interface and supply service provider to controller but it returns error

// code in register method. This works
$this->app->bind(NumberInterface::class, function($app) {
            return new NumberServiceProvider($app);
        });
// needed code in register method. NOT WORKING
$this->app->bind(NumberInterface::class, NumberServiceProvider::class);
  1. Code of NumberServiceProvider implements NumberInterface
  2. bootstrap/app.php has line
    $app->register(App\Providers\NumberServiceProvider::class);
  3. Controller receives NumberInterface $numberProvider as argument

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions