はじめに
データアクセスオブジェクト(DAO)はデータベースへの抽象インターフェースを提供し、開発者がデータベーススキーマの詳細を知らなくても一般的なデータベース操作を行えるようにします。データアクセスオブジェクトは基本的に、アプリケーションのビジネスロジック層とデータ層を分離するものです。この分離は重要です。この2つの重要なアプリケーション層がお互いのことをほとんど何も知らず独立して動作するようにしておけば、双方をいつでも別々に改訂できるからです。DAOを適切に使用すれば、ビジネスロジックが頻繁に変わる環境でも同じDAOインターフェースを使用でき、インターフェースが正しく実装されてさえいれば、永続ロジックに変更を加えてもDAOクライアントに影響を与えずに済みます。
DAO generator for PHP and MySQLはMySQLデータベース用のDAOクラスの作成プロセスを自動化します。この記事では以下のことを行う方法を説明します。
- DAO generator for PHP and MySQLをインストールする
- 指定のデータベース(bookstore)を使ってDAO成果物を生成する
- DAOジェネレータツールとそのファクトリクラスを使ってアプリケーションを作成する
- 複数のSQL操作が関係するトランザクションを作成する
- 生成されたクラスに独自のDAO関数を追加する
DAO generator for PHP and MySQL
DAOジェネレータとは、通常はある特定の対象データベースのために使用するクラスを特定の言語で生成するツールです。DAO generator for PHP and MySQLの場合は、DAOデザインパターンを使ってMySQLデータベースへのクエリと更新を行うPHPクラスを生成します。このツールをインストールして使用するのは比較的簡単ですが、効果的に使用するにはDAOメカニズムについての知識が多少必要になります。
DAO generator for PHP and MySQLはここからダウンロードできます。インストールするには、次の手順に従ってください。
- phpdao-1.7.zipアーカイブをダウンロードします
- このアーカイブをhtdocsディレクトリに解凍します
- templates/class/dao/sql/ConnectionProperty.class.phpファイルのデータベースプロパティを指定して、既存のデータベースへの接続を設定します
- generate.phpスクリプトを実行します
- 生成されたクラスが、generatedという新たに作成されたフォルダに格納されます
図1はDAO generator for PHP and MySQLのアーキテクチャを示しています。