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

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

A quick disclaimer...

Although I put in a great effort into researching all the topics I cover, mistakes can happen. Use of any information from my blog posts should be at own risk and I do not hold any liability towards any information misuse or damages caused by following any of my posts.

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.
Hi! You can search my blog here ⤵
NOTE: (2022) This Blog is no longer maintained and I will not be answering any emails or comments.

I am now focusing on Atari Gamer.