Skip to main content.

Sunday, October 21, 2007

Ethnaで販売管理システムを部分的に開発してみる(その4)マスタメンテ実装

「Ethnaで販売管理システムを部分的に開発してみる」の続きです。今回はマスタメンテの実装についてです。

今のところ、以下のマスタ(テーブル)があります。

マスタメンテメニュー


Ethnaでの実装
このマスタメンテでのEthnaでの実装は、アプリケーションオブジェクトを利用しています。以前、アプリケーションオブジェクトの利用で書いた方法です。(もちろん、アプリケーションオブジェクトを使わなくても出来ます。)テーブルがいくつかありますが全て同じような実装です。実際の処理としては以下のような流れです。以下の処理は、一例として、顧客マスタメンテの処理です。(検索機能は今のところありません。)

顧客一覧画面


顧客編集画面


上の画面のように、一覧表示をして、対象の顧客データの編集、または削除を実行する、あるいは、新規にデータを追加するという流れです。以上の処理を以下のクラスで行っています。あと、一覧表示(List)と編集(Edit)のテンプレートがあります。

アプリケーションオブジェクトクラス、アプリケーションマネージャクラス
Salesmgr_Tcustomer
顧客テーブル(tcustomer)のアプリケーションオブジェクト

Salesmgr_TcustomerManager
顧客のアプリケーションマネージャで、顧客の一覧取得、追加、変更ならびに削除といった処理を行うクラス。各アクションから呼び出される。

ビュー
Salesmgr_View_CustomerList
顧客一覧表示時に Salesmgr_TcustomerManager 経由で顧客一覧を取得する。

アクション
Salesmgr_Action_CustomerList(Listアクション)
アクションとしての処理はなくビュー(テンプレート)を表示するのみ。

Salesmgr_Action_CustomerEdit(Editアクション)
一覧表示の編集ボタンまたは、新規追加時に呼び出されるアクション。編集時は、Salesmgr_TcustomerManager 経由で編集対象の顧客データを取得する。またフォームヘルパーでHTMLタグを出力するためにアクションフォームで各項目を定義している。

Salesmgr_Action_CustomerUpdate(Updateアクション)
顧客情報の、追加、削除、変更をそれぞれ、Salesmgr_TcustomerManager 経由で実行する。また、入力チェックのための各項目をアクションフォームで定義して、入力チェックを行う。

以上のような流れです。これが正解という訳でも何でもなく一例です。とりあえず、なるべく簡単にメンテナンスが出来るように作った流れのつもりです。アクションとビューの関係はいろいろな考え方がありますので、場合によって、最適と思われる関係を考える必要があります。このあたり、下記のEthnaの書籍にもいろいろと出ています。

今回作成したプロジェクト一式は以下からダウンロードしてご覧いただけます。
「Ethnaで販売管理システムを部分的に開発してみる」のプロジェクト一式

次は、Ethnaで販売管理システムを部分的に開発してみる(その5)受注業務処理です。PEAR::DBを使用したデータ操作、トランザクション等についてです。

当サイトでのEthna関連記事一覧


参考書籍
Ethna×PHP [LLフレームワークBooks] (LLフレームワークBOOKS # 2)
Ethna×PHP [LLフレームワークBooks] (LLフレームワークBOOKS # 2)
藤本 真樹一井 崇鶴岡 直也新井 啓太
技術評論社

¥ 1,980 (定価)
¥ 1,980 (Amazon価格)
19pt (Amazonポイント)
 (Amazonおすすめ度)
単行本(ソフトカバー)
通常24時間以内に発送
(価格・在庫状況は1月6日 17:39現在)


グラス片手にデータベース設計~販売管理システム編 (DBMagazine SELECTION)
グラス片手にデータベース設計~販売管理システム編 (DBMagazine SELECTION)
梅田 弘之
翔泳社

¥ 2,520 (定価)
¥ 2,520 (Amazon価格)
25pt (Amazonポイント)
★★★★☆ (Amazonおすすめ度)
単行本
通常24時間以内に発送
(価格・在庫状況は1月6日 17:39現在)