Skip to content

method injection throws League\Container\Exception\NotFoundException #11

@nixoncode

Description

@nixoncode

Am having an issue with making the App run with method Injection 💉 enabled.

This is the only code I have on index.php file

use Jenssegers\Lean\App;
use Slim\Http\Request;
use Slim\Http\Response;
use Slim\Settings;

require __DIR__ . '/../vendor/autoload.php';

$app = new App();

$container = $app->getContainer();

$container->get(Settings::class)->replace([
    'displayErrorDetails' => true,
]);

// when this is commented, It doesn't work, at all
$app->getContainer()->get(Settings::class)->set('methodInjection', false);

$app->get('/hello/{name}', function (Request $request, Response $response) {
    $name = $request->getAttribute('name');
    return $response->write('Hello, ' . $name);
});

$app->run();

Here is the Error

Slim Application Error
The application could not run because of the following error:

Details
Type: League\Container\Exception\NotFoundException
Message: Unable to resolve a value for parameter (method) in the function/method (__construct)
File: C:\Users\nkosg\PhpstormProjects\mychama\vendor\league\container\src\Argument\ArgumentResolverTrait.php
Line: 78
Trace
#0 [internal function]: League\Container\ReflectionContainer->League\Container\Argument\{closure}(Object(ReflectionParameter))
#1 C:\Users\nkosg\PhpstormProjects\mychama\vendor\league\container\src\Argument\ArgumentResolverTrait.php(83): array_map(Object(Closure), Array)
#2 C:\Users\nkosg\PhpstormProjects\mychama\vendor\league\container\src\ReflectionContainer.php(52): League\Container\ReflectionContainer->reflectArguments(Object(ReflectionMethod), Array)
#3 C:\Users\nkosg\PhpstormProjects\mychama\vendor\league\container\src\Argument\ArgumentResolverTrait.php(44): League\Container\ReflectionContainer->get('Slim\\Http\\Reque...')
#4 C:\Users\nkosg\PhpstormProjects\mychama\vendor\league\container\src\Argument\ArgumentResolverTrait.php(85): League\Container\ReflectionContainer->resolveArguments(Array)
#5 C:\Users\nkosg\PhpstormProjects\mychama\vendor\league\container\src\ReflectionContainer.php(103): League\Container\ReflectionContainer->reflectArguments(Object(ReflectionMethod), Array)
#6 C:\Users\nkosg\PhpstormProjects\mychama\vendor\jenssegers\lean\src\Lean\MethodInjection.php(37): League\Container\ReflectionContainer->call(Object(Closure), Array)
#7 C:\Users\nkosg\PhpstormProjects\mychama\vendor\slim\slim\Slim\Route.php(356): Jenssegers\Lean\MethodInjection->__invoke(Object(Closure), Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#8 C:\Users\nkosg\PhpstormProjects\mychama\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(117): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#9 C:\Users\nkosg\PhpstormProjects\mychama\vendor\slim\slim\Slim\Route.php(334): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#10 C:\Users\nkosg\PhpstormProjects\mychama\vendor\slim\slim\Slim\App.php(515): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))
#11 C:\Users\nkosg\PhpstormProjects\mychama\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(117): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#12 C:\Users\nkosg\PhpstormProjects\mychama\vendor\slim\slim\Slim\App.php(405): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#13 C:\Users\nkosg\PhpstormProjects\mychama\vendor\slim\slim\Slim\App.php(313): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
#14 C:\Users\nkosg\PhpstormProjects\mychama\public\index.php(29): Slim\App->run()
#15 {main}

Package versions

"php": ">=7.3",
"jenssegers/lean": "^1.0",
 "slim/slim": "^3.1",

Any Ideas on what I might be doing wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions