PHP-DB - 2. PDO

PDO(PHP Data Objects)はPHPからデータベースにアクセスするための手法の1つです。もともとPHPにはデータベースベンダー固有のモジュールが用意されており、MySQLに接続するのであればMySQLiモジュール、SQLite3に接続するのであればSQLite3モジュールのように、データベースに合わせたライブラリを使ってプログラミングできます。ただし、この場合、MySQLにアクセスする場合はMySQLを操作する専用のクラス群を扱う必要があり、SQLite3にアクセスする場合はSQLite3を操作する専用のクラス群を扱う必要があります。

一方、PDOはデータベースへのアクセスを抽象化したもので、接続先のデータベースに依存しないPDOライブラリ固有のクラス群を提供します。これによって接続先のデータベースがMySQL、PostgreSQL、SQLite3などいずれであっても同じクラスやメソッドの呼び出しで処理できます。つまりPDOによってデータベース製品に依存しないプログラミングが可能となります。

データベース固有のPDOドライバ

PDOを使う場合は、PDOインターフェイスを実装したデータベースドライバを有効にしておく必要があります。本講座では以降 SQLite3 を利用して学習を進めます。

Windows環境で開発を進める場合はphp.iniファイルを編集して、PDOのSQLite3のドライバを有効にしておく必要があります。 php.ini ファイルをテキストエディタで開きます。

;extension=pdo_sqlite

上記のように先頭に ; が付いている場合はコメントとして無効化されています。以下のように先頭の; を削除してファイルを保存します。

extension=pdo_sqlite

オブジェクト指向プログラミング

PDOライブラリはオブジェクト指向プログラミングに考え方に従って設計されています。本講座を通じて利用するPDOのクラス群は以下のとおりです。

「PDO」という言葉は文脈によって「PDOライブラリ」を指すこともあれば「PDOクラス」を指すこともあります。

まとめ

  • PDOはPHPからデータベースにアクセスするためのライブラリ
  • PDOを使えばデータベース製品に依存せずに同じクラスやメソッドを使ってSQLを実行できる
  • PDOはオブジェクト指向プログラミングに考え方に従って設計されている