глобальные переменные в большинстве случаев НЕ являются тем, что вам нужно в ООП. Они сбивают с толку, когда речь идет о методе, который работает с несколькими переменными, и они могут даже быть скрыты локальными переменными. Для меня работа с такими утверждениями, как
$anything = $this->get('what.the.hell.why.arent.those.identifiers.shorter');
так же раздражает, как и для вас, поэтому я создал один подкласс Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller для каждого проекта, который предоставляет методы, которые вызывают get с фактическими идентификаторами. В вашем случае я бы создал метод
public function getDatabaseConnection()
{
return $this->get('database_connection');
}
В общем - почему вы не используете Doctrine для управления подключением к БД? Большинство запросов может быть выполнено ORM, и это способ работать с реальным объектно-ориентированным интерфейсом к базе данных. Подумайте об этом, я также играю с Symfony2 / Doctrine уже несколько дней, и это действительно хорошо. В начале это может выглядеть как адская конфигурация, но как только вы выполнили основные настройки, разработка действительно быстрая! :)