Drupal 7 - Rad sa bazom podataka preko PHP PDO
Sa prelaskom na Drupal 7 prelazimo na novi Drupal DB sloj apstrakcije (DB abstraction layer) koji je baziran na PDO. PDO se već dugo koristi u Zend framework-u, kao i u mnogim drugim PHP framework-ovima. Sve je bilo dobro u Drupalu 6 sa pisanjem SQL upita, zašto nam onda nešto novo?
Za početak, hajde da objasnimo šta je PDO.
PDO omogućava prenos PHP koda za rad sa bazom podataka sa jedne baze na drugu. Na primer, ako je vaš sajt radio sa MySQL-om, možete lako preći na PostgreSQL. Što se tiče korišćenja Oracle baze, još nisam siguran jer nisam probao, ali i to bi trebalo da funkcioniše.
PHP Data Objects (PDO) je ekstenzija za PHP koja dodaje lagan, modularan interfejs za pristup bazama podataka. Svaki drajver baze je implementiran kroz PDO interfejs i može biti proširen specifičnim funkcijama za svaki serverski sistem baze podataka.
PDO pruža pristup sloju apstrakcije koji se koristi za obradu upita i prikaz podataka. PDO ne pruža apstrakciju baze podataka, on ne prepisuje SQL i ne emulira nedostajuće mogućnosti za određene DB servere. Za te funkcionalnosti treba koristiti potpuni sloj apstrakcije. PDO je kompatibilan sa PHP 5.1 i novijim verzijama, dostupan kao PECL ekstenzija za PHP 5. PDO zahteva nove OOP mogućnosti iz PHP 5 jezgra i ne podržava stare verzije PHP.
To znači da programeri mogu pisati još lakše kod koji je prenosiv između platformi. PDO nije sloj apstrakcije poput PearDB. PDO je više pristup bazi podataka nego API.
Ako želimo pisati module za Drupal 7, moramo koristiti baš PDO sintaksu za pisanje upita, da bi naši moduli mogli da rade sa više baza podataka.