What is the best way to get the root app directory from inside the controller? Is it possible to get it outside of the controller?
Now I get it by passing it (from parameters) to the service as an argument, like this:
services:
sr_processor:
class: Pro\Processor
arguments: [%kernel.root_dir%]
Is there a better, simpler way to get this information in Symfony2?
Best Answer
UPDATE 2018-10-21:
As of this week,
getRootDir()
was deprecated. Please usegetProjectDir()
instead, as suggested in the comment section by Muzaraf Ali.—-
Use this:
And if you want the web root:
this will work from controller action method...
EDIT: As for the services, I think the way you did it is as clean as possible, although I would pass complete kernel service as an argument... but this will also do the trick...