Igor Kromin |   Consultant. Coder. Blogger. Tinkerer. Gamer.

| Views: 194
I've created a new Silex controller, all the setup for it seemed fine, but for some reason it wasn't working. Every time I accessed a route for that controller, I got an error stating that the $request argument wasn't provided, like so...
silex_reqerr.png


Here's a more detailed exception stack trace...
 Exception
Whoops, looks like something went wrong.
(1/1) RuntimeException
Controller "PCS\PcsDownloadController::initDownload()" requires that you provide a value for the "$request" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.
in ArgumentResolver.php (line 78)
at ArgumentResolver->getArguments(object(Request), array(object(PcsDownloadController), 'initDownload'))
in HttpKernel.php (line 145)
at HttpKernel->handleRaw(object(Request), 1)
in HttpKernel.php (line 68)
at HttpKernel->handle(object(Request), 1, true)
in Application.php (line 496)
at Application->handle(object(Request))
in Application.php (line 477)
at Application->run()
in store.php (line 21)
at require('/Volumes/Data HD/Personal/_git/travelblog.ws/marketting/pcs/store.php')
in setup.php (line 147)


After some debugging it turned out that I was missing the following line from my controller class:
 PHP
use Symfony\Component\HttpFoundation\Request;




It was as simple as that!

-i

Have comments or feedback on what I wrote? Please share them below! Found this useful? Consider sending me a small tip.
comments powered by Disqus
Other posts you may like...