Develop and Download Open Source Software

Recent Changes

2011-03-30
2011-03-29
2011-03-23
2011-02-25
2010-05-20
2008-09-03

Wiki Guide

Side Bar

最低限の知識を先に

とりあえずMVCに関しては適宜ぐぐってください…だと色々とぶれるので。
手前味噌恐縮ですが、以下を先にご一読くださいませ。
http://www.phppro.jp/school/oop/vol4/1
http://www.phppro.jp/school/oop/vol5/1

MWでは

  • 1つのcontrollerが「cgi requestを受け取る君」「門番君(やるんならコントローラ継承して実装追加して)」「必要なインスタンスを作る君」「処理を"実処理してくれる君"に振り分ける君」までを担当
  • 「実処理をしてくれる君」はmodelと呼称
  • 「DBとの仲立ちをしてくれる君」はdata_clumpっていうクラスが概ね。ただし「自力でSQL」もがんがん。その辺は後ほど
  • 「テンプレートファイルと変数群からHTMLを動的に作ってくれる君」は、MWオリジナルとしてはconvというクラス(実際にはセキュリティを考慮した secure_conv )か、または一般的なSmartyが多い
  • 「cgi responseを出力してくれる君」はviewクラスが担当
  • 最後の「最後の後片付けとお掃除君」は、controllerの受け持ち

という流れになります。なので、基本的には

  • controllerが前処理を色々
  • controllerがmodelをcall:処理する
  • controllerがviewをcall:出力する
  • controllerがお片づけ

という、controller主体の動きとなります。

また、このために、1プロジェクト単位でみると

  • ひとつのcontroller(index.phpとかでnewする)
  • たくさんのmodel群(controller内で必要に応じてinclude & newされる)
  • ひとつのview(controller内で設定に応じたviewクラスがinclude & newされる)

というインスタンス割り当てになります。

…っていきなり書かれてもよくわからないと思うので。
わからなくなったら適宜戻ってきてください。そのうちだんだん「あぁこーゆーことだ~」って思えるようになりますんで。


SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.