});連載第6回「DAOパターンですっきりコーディング!」ではDTO・DAOパターンを使って、データベースアクセスに関連する操作をItemDaoクラスに集約しました。DAOパターンを利用することで、データベースアクセスのような煩雑な手順を本来必要な処理から切り離し、PHPコードを簡素化できます。今回は、ItemクラスやItemDaoクラスを実際に在庫管理システムに組み込み、在庫管理システム本体の処理がいかに簡素化されるかを確認してみましょう。MySQL入門http://www.atmarkit.co.jp/flinux/index/indexfiles/mysql5index.html簡易在庫管理システムの作成(1)検索/挿入/更新/削除といった処理は、コマンドラインphpで利用できるものを前回作成しました。今回は、これを基にWebから使用できるものを用意します。その際、更新/削除/挿入などの処理ごとにPHPファイルを用意せず、1つのPHPファイルにまとめることにします(ItemDaoの利用で各処理が簡潔になっているため)。今回作成するファイルも第6回でインストールしたsample4.tgzに含まれています。前回に引き続きsample4.tgzを利用してください。今回は、Item.php、ItemDao.phpに加えて「displayStock.php」と「updateStock.php」を新たに用意します。簡易在庫システムの画面構成(画像をクリックすると拡大します)下記に、displayStock.phpとupdateStock.phpの特長を示します。displayStock.phpそれでは、displayStock.phpのソースコードをのぞいてみましょう。displayStock.php1〜5行目がHTMLヘッダ、76〜87行目がHTMLフッタです。そのほかHTMLを用いて、新規登録のためのフォームを58〜74行目で作成します。7〜13、21〜56行目がPHPスクリプトです。8、9行目Item.php・ItemDao.phpファイルをrequire_once()で読み込みます。11行目Itemクラスを生成(インスタンス化)します。12行目ItemDaoクラスを生成(インスタンス化)します。15〜19行目HTMLを使ってタイトルを表示します。23〜54行目ここからが主な処理になります。ItemDaoのgetAllItem()メソッドを使い、全商品アイテムを配列で受け取ります。配列からItem型を取り出し、foreach(){}で商品アイテムの数だけ更新・削除処理用のフォームを作成します。Item型から各変数を取り出す際は、Itemクラスのゲッターを使用します(25〜29行目)。どのような処理を行いたいかupdateStock.phpに伝えるために、ボタンのラベル名を変数「button」に格納します。name="名">」を使用しています(コラム1参照)。次のようなbutton.htmlとbutton.phpを用意します。$_POST["button"];?>Firefoxでbutton.htmlにアクセスし、「ボタン1」をクリックした場合は、次の画面でvalueに埋め込まれている「button1」が表示されます。Explorerでは、ボタンのラベルに使用されている「ボタン1」がそのまま表示されます。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。