Dovrei realizzare un form che visualizzi dei menu a tendina popolati a seconda dei contenuti di un database. Siccome devo fare tante interazioni con lo stesso database per popolarli, come mi consigliate di procedere? Avevo pensato di creare un oggetto database e lavorare su quello passandolo come parametro nelle varie funzioni che popolano i rispettivi menu a tendina. La creazione dell'oggetto database posso farla ovunque? Nel senso, ci sono problemi di visibilità? Non ho mai ben capito le variabili reference, dio benedica il passaggio per valore

Poi un dubbio esistenziale. Quando faccio:
$db->setQuery($query);
Eseguo la query vera e propria sul database reale oppure lavoro sugli attributi del mio oggetto database senza toccare il database reale?