Faktisk et enkelt, sødt og kort:Ja, ikke nødvendigt længere.
Lad os gennemgå koden, ikke at vi har mistet noget:
-
__construct
- Konstruktøren indeholdt blot hele konfigurationen. PDO har et meget nemmere koncept her, en forbindelsesstreng, der indeholder mest information:mysql:host=127.0.0.1;dbname=people;charset=UTF-8
Også PDO leverer konstruktøren til brug færdiglavet, så dobbelt er ikke nødvendigt.
-
connect
- Tilslutningsfunktionen er heller ikke længere nødvendig. Dette gøres ved allerede at instantiere PDO. Du kan se efter undtagelser, PHP-manualen har et eksempel på sin konstruktørside . -
selectDb
- Denne komplicerede funktion er heller ikke nødvendig længere. Wow, den tredje funktion kan vi bare droppe på grund af PDO-forbindelsesstrengen. Meget kraft med så færre karakterer. Skål! -
__destruct
- Destruktoren. Lad os være retfærdige:MySQL havde heller ikke brug for dette. Men med PDO får vi det gratis - uden at skrive en eneste linje kode.
Ser godt ud! Det lykkedes dig at migrere fra den obskure databaseklasse til PDO ved at fjerne forældet kode! Tillykke:
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
Hvis du nu tænker, hvad så hvis jeg vil have databaseklasse alene? Det kan du godt, for du kan udvide fra PDO (ja det virker!):
class DB extends PDO
{
... my super-new-shiny-code
}
Hvorfor vil du måske gøre det? Ingen idé, men måske er det mere flydende for din kode. Hvis du leder efter et bedre kodeeksempel, har jeg et på PHP/MySQL-tabel med hyperlinks .