In realtà, un semplice, dolce e breve:Sì, non è più necessario.
Rivediamo il codice non che abbiamo perso qualcosa:
-
__construct
- Il costruttore conteneva semplicemente tutta la configurazione. PDO ha un concetto molto più semplice qui, una stringa di connessione contenente la maggior parte delle informazioni:mysql:host=127.0.0.1;dbname=people;charset=UTF-8
Anche PDO fornisce il costruttore per l'uso già pronto, quindi double non è necessario.
-
connect
- Anche la funzione di connessione non è più necessaria. Questo viene fatto istanziando già PDO. Puoi cercare le eccezioni, il manuale PHP ha un esempio sulla sua pagina del costruttore . -
selectDb
- Anche questa complicata funzione non è più necessaria. Wow, la terza funzione che possiamo semplicemente eliminare a causa della stringa di connessione PDO. Tanto potere con così meno personaggi. Saluti! -
__destruct
- Il distruttore. Siamo onesti:anche MySQL non aveva bisogno di questo. Tuttavia con PDO lo otteniamo gratuitamente, senza scrivere una sola riga di codice.
Sembra buono! Sei riuscito a migrare da quell'oscura classe di database a PDO rimuovendo il codice obsoleto! Congratulazioni:
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
Se ora pensi, che ne dici se voglio avere una classe di database da solo? Bene, puoi farlo, perché puoi estendere da PDO (sì, funziona!):
class DB extends PDO
{
... my super-new-shiny-code
}
Perché potresti volerlo fare? Non ne ho idea, ma forse è più fluente per il tuo codice. Se stai cercando un esempio di codice migliore, ne ho uno su Tabella PHP/MySQL con collegamenti ipertestuali .