Así es, y para eso puedes usar un ServiceLocator/Dependency Injection Container, o un Registro, de donde obtengas tu conexión.
 
Por otro lado, no es necesario el else, si ya estas lanzando la excepción, queda más limpio el código así:   
Código PHP:
Ver originalpublic function foo() {
       if (!$this->bar) {
              throw new Exception(/* *);
       }
 
       // stuff
}