In this code, $this->environment is the current environment (i.e. dev).
In this case you have changed the location of the cache directory to
var/{environment}/cache.

Caution

You should keep the cache directory different for each environment,
otherwise some unexpected behavior may happen. Each environment generates
its own cached configuration files, and so each needs its own directory to
store those cache files.

If you need to rename or move your public directory, the only thing you need
to guarantee is that the path to the var directory is still correct in your
index.php front controller. If you simply renamed the directory, you're
fine. But if you moved it in some way, you may need to modify these paths inside
those files:

require_once__DIR__.'/../path/to/vendor/autoload.php';

You also need to change the extra.public-dir option in the
composer.json file:

1
2
3
4
5
6
7

{"...":"...","extra":{"...":"...","public-dir":"my_new_public_dir"}}

Tip

Some shared hosts have a public_html web directory root. Renaming
your web directory from public to public_html is one way to make
your Symfony project work on your shared host. Another way is to deploy
your application to a directory outside of your web root, delete your
public_html directory, and then replace it with a symbolic link to
the public dir in your project.

To override the vendor directory, you need to define the vendor-dir
option in your composer.json file like this:

1
2
3
4
5
6

{"config":{"bin-dir":"bin","vendor-dir":"/some/dir/vendor"},}

Tip

This modification can be of interest if you are working in a virtual environment
and cannot use NFS - for example, if you're running a Symfony application using
Vagrant/VirtualBox in a guest operating system.