牧尾竜一
ryuic****@jom*****
2008年 7月 18日 (金) 19:05:00 JST
JOMRです。 >> ・顧客の登録、管理(編集、削除、履歴管理) >> ・登録した顧客に対してのPC登録 >> ・顧客PCに対しての障害履歴の登録、及び対応方法の記録 >> ・顧客の訪問履歴、作業内容、などを管理 > > では、上記の内容から設計していきましょうか。 了解です。 > まず、コントローラ、つまり処理の概要、単位を決めましょう。 > すべて顧客の処理を行うものとなってますので、URLはこんな感じかな? > http://hogehoge.com/index.php > ここがログイン等の画面とします。 > 次に最初に開くページをどれにするか。 > http://hogehoge.com/index.php/custmer/ > としたほうがいいでしょうか。 最初に開くページは顧客なので上記URLでOKです。 > 最初に開くページでは何を表示させるのかを決める。(ログインはのぞく) 顧客一覧と検索メニューです。 登録されていない場合は、「 まだ登録がありません 」とメッセージを出した いです。 > 顧客管理システムみたいなので、 > まずは顧客の一覧かな。とすると、 > costmerコントローラのindexメソッドは、顧客一覧を表示させるということにな > りますね。 > costmer/detail/顧客ID/ > 次に顧客単位の詳細ページをだすわけですから、 > custmerコントローラにdetailメソッドが必要ですね。 > > 次に、その顧客のデータを修正するものが必要ですから、 > custmerコントローラのeditメソッドが必要ですね。 > そして、それを確認するための画面(表示確認があると仮定)として > custmerコントローラのconfirmメソッドでしょうか。 > で、実際にデータをポストする処理 > custmerコントローラで、postメソッドがいる、ということですかね。 ここまでは今のものと同じ内容になっています。 今は、登録時にだけvalidationを通しているので 編集時にもvalidationを行い編集したいです。 > ここまでで、最初に一覧ページ。 > 顧客を選択して詳細ページ > 更新処理をするを選んだ場合の > 修正画面 > 修正内容の確認画面 > DB保存処理 > ということになります。 > > 次に、障害履歴のデータを保存するわけですので、 > http://hogehoge.com/disorder/ > というのがあるとして。 > 最初に開くのは、障害履歴一覧ということでしょうか。 > 次に > 顧客IDを指定して開くその詳細画面として > disorderコントローラのdetailメソッドがいるということですかね。 > それらも同じく登録したり修正する必要があるので、 > editメソッド、confirmメソッド、ポストメソッドなどがそれぞれいりますね。 > また、新規登録があるとおもうので(障害情報の) > addメソッドとかもあったほうがいいのかな。 > > また、訪問履歴も同じ様にコントローラを作成しますか。 > visitコントローラがいるということですね。 > > こんな感じで機能別にコントローラを考えてみてください。 > で、それぞれの機能の中での処理をメソッドとして作成すると考えていきましょ > う。 なるほどです。これまで想定したものは 顧客登録、編集、削除、同じく PC登録、編集、削除を同じコントローラーに書いていました。 同じような処理を何回も書いていたので混乱していました。 kunitsujiさんの言うように機能別にコントローラーを複数用意すればわかりや すいですね。 > これを考えるときに、 > 画面から考えるのもありですね。 > ポスト処理は画面がないとしても、それ以外はすべて画面がありますよね? > 一覧、入力、確認、詳細など。 > 画面を一つひとつかんがえてみれば、画面の動き(画面遷移)から処理の流れが > 決められます。 > > こんな部分をまず設計してみましょうか。 了解です。この段階で感じたのは仮に何か別の機能が増えたときは イメージ的にはできると思っていますが、テーブルの追加、コントローラの追加 でいけるものなのでしょうか?