Всъщност просто, сладко и кратко:Да, вече не е необходимо.
Нека прегледаме кода, не че сме загубили нещо:
-
__construct
- Конструкторът просто съдържаше цялата конфигурация. PDO има много по-лесна концепция тук, низ за връзка, съдържащ най-много информация:mysql:host=127.0.0.1;dbname=people;charset=UTF-8
Също така PDO предоставя конструктора за използване готов, така че двойно не е необходимо.
-
connect
- Функцията за свързване също не е необходима. Това се прави чрез инстанциране на PDO вече. Можете да търсите изключения, ръководството за PHP има пример на страницата на конструктора . -
selectDb
- Тази сложна функция също не е необходима. Уау, третата функция, която можем просто да изпуснем заради низа за PDO връзка. Много сила с толкова по-малко герои. Наздраве! -
__destruct
- Деструкторът. Нека бъдем честни:MySQL също не се нуждаеше от това. С PDO обаче го получаваме безплатно - без да пишем нито един ред код.
Изглежда добре! Успяхте да мигрирате от този неясен клас на база данни към PDO, като премахнете остарелия код! Поздравления:
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
Ако сега се замислите, какво ще кажете, ако искам сам да имам клас на база данни? Е, можете да направите това, защото можете да разширите от PDO (да, това работи!):
class DB extends PDO
{
... my super-new-shiny-code
}
Защо може да искате да направите това? Нямам идея, но може би е по-свободен за вашия код. Ако търсите по-добър пример за код, имам такъв в PHP/MySQL таблица с хипервръзки .