New in Symfony 3.3: A simpler way to get the project root directory
Warning: This post is about an unsupported Symfony version. Some of this information may be out of date. Read the most recent Symfony Docs.
In Symfony 3.3, we're introducing a lot of changes and simplifications to prepare us for the fascinating Symfony 4.0 release that will take place on November 2017.
Some of those changes are technically minor but will have a profound effect in
your applications. In Symfony applications, the well-known
method of the
Kernel class and its counterpart
They return the path where the application kernel (usually
stored. In Symfony 2 and 3 this is usually the
app/ directory, so it's common
to use expressions like
In Symfony 4, the kernel class has been moved to the
src/ directory, so the
previous expressions won't break.
However, given that most of the times
getRootDir() is used to get the
project root directory, in Symfony 3.3 we've decided to add a new method to the
Kernel class called
getProjectDir() which will give you exactly that.
This new method finds the project root directory by looking for the first
directory that contains a
composer.json file starting from the directory
where the kernel is stored and going up until
composer.json is found.
In practice, this means that your application can simplify most or all the
expressions that use
%kernel.root_dir%. For example:
%kernel.project_dir%/web/ instead of
Comments are closed.
To ensure that comments stay relevant, they are closed for old posts.