PHP Data Objects (PDO)

Artık “mysql_connect“, “mysql_query” fonksiyonlarının müfredattan kalkma zamanı geliyor, PHP’de kendi resmi dökümantasyonunda da bunun sinyalini vermeye başlamış; “mysql” fonksiyonlarının sayfasında aşağıdaki gibi bir öneriyle karşılaşıyoruz;

pdo ile ilgili görsel sonucu

Özetle artık bunları kullanmanızı önermiyoruz, PDO ya da MySQLi‘ye geçin diyor. Peki nedir bunlar? Şuradaki karşılaştırmaya baktığımızda MySQLi ile PDO arasında çok fark olmadığını görebilirsiniz.

PDO’da çoğu veritabanı sürücüsü kullanılmasına olanak sağlayan, MySQLi ise sadece MySQL destekleyen ve PDO’ya göre biraz daha karmaşık ve kapsamlı bir arayüz diyebiliriz. Sonuç olarak ikisi de öneriliyor. Ben burada PDO’dan bahsetmeye çalışacağım, iksinden birisinin kullanım şeklini kavradığınızda diğerini de rahatlıkla kullana bileceğinize inanıyorum.

PDO nedir?

PDO(PHP Data Objects / PHP Veri Objeleri) özetle; hafif ve tutarlı bir şekilde veritabanına erişimi sağlayan bir arayüz. Adından da anlayacağınız üzerie “Object Oriented Programming” arayüzüne sahip, onlarca veritabanı sürücüsü destekliyor;

  • Cubrid
  • FreeTDS / Microsoft SQL Server / Sybase
  • Firebird/Interbase 6
  • IBM DB2
  • IBM Informix Dynamic Server
  • MySQL 3.x/4.x/5.x
  • Oracle Call Interface
  • ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
  • PostgreSQL
  • SQLite 3 and SQLite 2
  • Microsoft SQL Server / SQL Azure

İleride daha farklı bir veritabanı sürücüsüne geçmek istediğinizde sisteminizi temelli olarak değiştirmek yerine PDO ile kaldığınız yerden bir takım ufak modifikasyonlar ile bu işi gerçekleştirebilirsiniz.

Bunların haricinde PDO 5.1‘den itibaren geliyor, yani çalışabilmesi için güncel versiyonlara ihtiyacınız olacak.