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

NOTE: This article is 3 years or older so its information may no longer be relevant. Read on at your own discretion! Comments for this article have automatically been locked, refer to the FAQ for more details.
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

Skip down to comments...
A quick disclaimer...

Although I put in a great effort into researching all the topics I cover, mistakes can happen. If you spot something out of place, please do let me know.

All content and opinions expressed on this Blog are my own and do not represent the opinions of my employer (Oracle). Use of any information contained in this blog post/article is subject to this disclaimer.
 
comments powered by Disqus
Other posts you may like...