El objeto database es un parametro en el constructor de las clases que requieren acceder a la base de datos. Por ejemplo:
Código PHP:
$DA=new Database('servidor','usuario','contraseña','basededatos');
$objeto=new ClaseQueAccedeABD($DA);
En el constructor asigno la database a una variable miembro, asi es accesible por todas las funciones de la clase.
Otra opcion seria usar patrones como Factoria o Singleton para simular objetos globales.
En el fondo es una cuestion de que si es un dato que tiene que mantenerse entre varias paginas de la misma visita (SESION) o un dato que debe ser accesible desde todo el script (GLOBAL).