Why do we need different environments?
An environment basically provides running instructions for the same code base. It does not change anything in the code itself. It simply tells Symfony when the code is running, which tools and components should accompany it, and what set of parameters should be used.
The default Symfony environments are Dev, Test, and Prod. As their names suggest, they utilize Symfony tools for our code to run in development, test, and production environments respectively.
So what do they mean and how are they different from each other? For example, when we are developing and testing a web application, we need to get as much debug information as possible to hunt down a thrown exception. Running Symfony's Profiler, Logger, and other tools slows down the overall application performance, but in return provides valuable information that helps us spot and fix the problem.
On the other hand, when the application is fully developed and tested, all we need to do is maximize...