Usare un object in methods di altri oggetti

in questo caso creo un object sqlite3 nel file principale del mio script:

$db = new sqlite3('file.sqlite'); 

ora ho bisogno di accedere al file sqlite in diversi altri methods di altre classi. Ma qual è il modo migliore per accedere all'object lì?

Crea each volta un nuovo object?

Utilizzare nel metodo globale?

 global $db; 

O consegnarlo come argomento?

 $object = new exampleClass($db); 

Decisamente:

 $object = new exampleClass($db); 

Oppure è ansible utilizzare una class di registry per archiviare oggetti e quindi recuperarli quando necessario. Qualcuno sentenzierà che questa è una ctriggers pratica, ma vabbè:

 $object = Registry::get('db');