Controllers as a service are a heated topic in the Symfony world. Developers mainly choose to extend the base class, because its much simpler to use and less to write. But less to write is not necessarily true. The Symfony controller base class uses quite a lot of services, if you need them in your controller as a service, you have to inject them: <?php class UserController { public function _cons