Właściwie proste, słodkie i krótkie:tak, już nie jest konieczne.
Przyjrzyjmy się kodowi, a nie to, że coś zgubiliśmy:
-
__construct
- Konstruktor zawierał jedynie całą konfigurację. PDO ma tutaj znacznie prostszą koncepcję, ciąg połączenia zawierający najwięcej informacji:mysql:host=127.0.0.1;dbname=people;charset=UTF-8
Również PDO zapewnia konstruktor do użycia w postaci gotowej, więc podwójne nie jest konieczne.
-
connect
- Również funkcja połączenia nie jest już potrzebna. Odbywa się to już poprzez utworzenie instancji PDO. Możesz szukać wyjątków, instrukcja PHP ma przykład na swojej stronie konstruktora . -
selectDb
- Ta skomplikowana funkcja nie jest już potrzebna. Wow, trzecia funkcja, którą możemy po prostu odrzucić z powodu ciągu połączenia PDO. Dużo mocy przy tak mniejszej liczbie postaci. Pozdrawiam! -
__destruct
- Destruktor. Bądźmy uczciwi:MySQL też tego nie potrzebował. Jednak z PDO otrzymujemy to za darmo - bez pisania ani jednej linii kodu.
Wygląda dobrze! Udało Ci się przeprowadzić migrację z tej mało znanej klasy bazy danych do PDO, usuwając przestarzały kod! Gratulacje:
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
Jeśli teraz pomyślisz, co jeśli chcę mieć własną klasę bazy danych? Cóż, możesz to zrobić, ponieważ możesz rozszerzyć z PDO (tak, to działa!):
class DB extends PDO
{
... my super-new-shiny-code
}
Dlaczego możesz chcieć to zrobić? Nie mam pojęcia, ale może jest to bardziej płynne dla twojego kodu. Jeśli szukasz lepszego przykładu kodu, mam go pod adresem Tabela PHP/MySQL z hiperłączami .