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
}