Sto leggendo Pro PHP e jQuery e voglio ricostruire l'esempio. L'autore sta creando una classe di connessione al database:
class DB_Connect {
protected $db;
protected function __construct($dbo = NULL){
if (is_object($db)) {
$this->db = $db;
}
else {
// Constants are defined in /sys/config/db-cred.inc.php
$dsn = "mysql:host=" . DB_HOST . ";dbname=" . DB_NAME;
try {
$this->db = new PDO($dsn, DB_USER, DB_PASS);
}
catch (Exception $e) {
die ($e->getMessage());
}
}
}
Questa classe viene quindi estesa dalla classe principale dell'applicazione, per ottenere l'accesso all'oggetto del database.
Perché questo è fatto in questo modo? Non potremmo piuttosto creare un'istanza di DB_Connect
nella classe principale? Quali sono i vantaggi di questo approccio?