Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

DAO generator for PHP and MySQLを使用する

DAOデザインパターンを使ってデータベース操作を実現するPHPクラスの作成方法

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/12/02 14:00

 DAOデザインパターンを使って、一般的なMySQLデータベース操作を実現するPHPクラスの作成方法を紹介します。

目次

はじめに

 データアクセスオブジェクト(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はここからダウンロードできます。インストールするには、次の手順に従ってください。

  1. phpdao-1.7.zipアーカイブをダウンロードします
  2. このアーカイブをhtdocsディレクトリに解凍します
  3. templates/class/dao/sql/ConnectionProperty.class.phpファイルのデータベースプロパティを指定して、既存のデータベースへの接続を設定します
  4. generate.phpスクリプトを実行します
  5. 生成されたクラスが、generatedという新たに作成されたフォルダに格納されます

 図1はDAO generator for PHP and MySQLのアーキテクチャを示しています。

図1 DAOジェネレータのアーキテクチャ: この図はDAO generator for PHP and MySQLのアーキテクチャとデータフローを示している
図1 DAOジェネレータのアーキテクチャ: この図はDAO generator for PHP and MySQLのアーキテクチャとデータフローを示している

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • japan.internet.com(ジャパンインターネットコム)

    japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.c...

  • Octavia Andreea Anghel(Octavia Andreea Anghel)

    経験豊富なPHP開発者。現在は、国内外のソフトウェア開発コンテストに参加するプログラミングチームの主任トレーナーを務める。国レベルの教育プロジェクト開発のコンサルティングも担当している。共著書に『XML technologies?XML in Java』があり、XML部分の執筆を担当。PHPやXML...

バックナンバー

連載:japan.internet.com翻訳記事

もっと読む

おすすめ記事

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5