Fondamentalmente vuoi una sola connessione al db. La responsabilità di connettere e "parlare" con il db non dovrebbe essere condivisa tra molte classi. Dovrai copiare, incollare l'host, il nome utente, le informazioni sulla password, che saranno piuttosto brutte, quando sposti il sito, e dovrai cercare tutte le tutte istanze di connessione al database e riscrivere esso. Bel baaad.
Quindi, il mio consiglio: la funzionalità relativa all'accesso va nella classe Login, nel DB correlato nella classe DataBaseHandler, nella formattazione HTML nella sua classe, ecc.
Esempio di DataBaseHandler:
DataBaseHandler.php:
class DataBaseHandler
{
private $mysql_host = "myhost.example.com";
....
function Connect()
{
$this->mysqli_object = mysqli_connect($this->mysql_host, $this->mysql_username, $this->mysql_password, $this->mysql_db);
if ($this->mysqli_object->connect_errno)
{
print "Failed to connect to MySQL: " . $this->mysqli_object->connect_error;
}
}
....
}
$dbHandler = new DataBaseHandler;
$dbHandler->Connect();
Se finisci di scrivere mySqlObject->connect(...)
-s ovunque, farai molto lavoro per te.
Aggiornamento (relativo al commento)
Il modo in cui l'ho usato (probabilmente non è la migliore pratica, dato che avevo smesso di scrivere php anni fa), ho inserito il file della classe ovunque mi servisse. Ma puoi chiedere in giro qual è la migliore pratica per questo (static? Global? Composition ???) in php. (Nel caso più semplice in C # vorrei fare un pigro valutatore pigro, probabilmente:))