PHPでOOP (894レス)
PHPでOOP http://medaka.5ch.net/test/read.cgi/php/1172205352/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
642: nobodyさん [sage] 2008/12/21(日) 14:51:26 ID:??? >641 やっぱ、そこか。 例えばブログの場合、エントリー群を司るモデルや、タグクラウドを司るモデルができる。これは自明だな。 で、データを受け取って画面を表示するだけの、ごく単純なビューがいる。これも自明。 で、それら呼び出してページのデータを作る、という「データの統合」を司るクラスが必要になる。 これをMVCのうち、MとCのどっちに置くかの問題。 MVC、MVCって言ってるけど、本質的には4層なんだよ。 処理の振り分けに1層を割くならば、4層なくてはならない。 処理の振り分け=呼び出すCの決定(ディスパッチャ)→どのMを呼び出すかを制御する(コントロール) →データを実際に扱う(モデル)→表示(ビュー)、となる。 実際のフレームワークだと、RailsやZendはDispatcherが振り分けを担当し、制御はコントローラが執っている。 (だから、おまいの目から見れば、コントローラは仕事をやりすぎに見えるはず) SymfonyやCakeだとControllerがディスパッチを担当し、制御はActionが執っている。 CodeIgniterだとディスパッチは単一のエントリポイント(リクエストを受けるphpファイル)であるindex.phpが行なって、制御はCが行なっている。 http://medaka.5ch.net/test/read.cgi/php/1172205352/642
643: nobodyさん [sage] 2008/12/21(日) 15:35:51 ID:??? >>642 >たとえば、日付指定でDBからレコードを取っていたのを、「無指定時は今日と見なす」と変更したとする。 >この場合は、Cを「日付省略時は現在の日付でMを呼び出す」ように変更し、Mには触れないのが正しい。 これって制御じゃなくてロジックだからモデル的仕事じゃねぇの? http://medaka.5ch.net/test/read.cgi/php/1172205352/643
644: nobodyさん [sage] 2008/12/21(日) 16:01:38 ID:??? >>642 横槍で質問してすまんかった。 すげーわかりやすい。 勉強になった。ありがとう。 http://medaka.5ch.net/test/read.cgi/php/1172205352/644
648: 642 [sage] 2008/12/24(水) 22:47:37 ID:??? >647 M・V・Cで分けるならCってのは同意。いちおう > 処理の振り分けに1層を割くならば と予防線は張ってあるわけだが。 俺はControllerの親クラスとかControllerFactoryでディスパッチする事が多い。 http://medaka.5ch.net/test/read.cgi/php/1172205352/648
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s