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

Hope you found this post useful...

...so please read on! I love writing articles that provide beneficial information, tips and examples to my readers. All information on my blog is provided free of charge and I encourage you to share it as you wish. There is a small favour I ask in return however - engage in comments below, provide feedback, and if you see mistakes let me know.

If you want to show additional support and help me pay for web hosting and domain name registration, donations, no matter how small, are always welcome!

Use of any information contained in this blog post/article is subject to this disclaimer.
comments powered by Disqus
Other posts you may like...