Symfony2 и MVC – Является ли контроллер расширения хорошей практикой?

У меня есть простой и, возможно, глупый вопрос.

Используя фреймворк Symfony2, я часто работаю над расширением контроллеров, как показано ниже ( конечно, это зависит от вида работы ):

class MainController extends Controller{ private $locale = array(); protected function Locale() { $em = $this->getDoctrine() ->getManager(); $this->locale = $em->getRepository('CommonLanguageBundle:Language') ->findBy( array('code' => $this->getRequest() ->getLocale() ) ); // \Doctrine\Common\Util\Debug::dump($this->locale); return $this->locale[0]; } //.. } class StoreController extends MainController{ function a_method() { $data = $this->Locale()->getId(); //... } } class DefaultController extends StoreController { $data = $this->Locale()->getId(); //... } 

Это хорошая практика?

Серфинг в Интернете я нашел много статей, но это еще не так ясно для меня.

В конце концов, если бы он отлично работал в Symfony2, было бы хорошо вообще для шаблона MVC?

Symfony не является средой MVC. Symfony – это сервис-ориентированная архитектура . Обычно каскадные расширяющие контроллеры не создают чувства.

Скорее вы должны создавать сервисы и использовать их в нужном вам режиме.

Более того, хорошая практика – это определить Контроллер как услугу .