レスポンスの出し分けは、Controllerの責任か?

MVCで、「エラーになった時にエラー画面に遷移させる」ような、「なにをレスポンスするか」の制御は、誰の責任になるのか、軽く調べました。
0
上白沢しとりー@マヨネーズ係 @ndxbn

「不正な入力値があったら、エラーで返す」みたいな判断するから、Controllerの責任だと思ってる。

2016-01-23 23:24:40
上白沢しとりー@マヨネーズ係 @ndxbn

あと、レスポンスを何でするか?というのもの、Controllerの責任だと思ってる。 Viewは、Controllerから通知された様にレスポンスを返すのが責任の範疇であって、レスポンスの手段手法内容などを決定する権限はないと思う。

2016-01-23 23:26:10
上白沢しとりー@マヨネーズ係 @ndxbn

そこで、各種フレームワークを参照したいと思うわけですね。確認してみましょうか。

2016-01-23 23:26:28
上白沢しとりー@マヨネーズ係 @ndxbn

エラー時にエラー用の出力をするのって、Viewの責任?Controllerの責任?

2016-01-23 23:23:56
上白沢しとりー@マヨネーズ係 @ndxbn

Cake PHP は、controller->response() で制御してるから、Controllerですね。

2016-01-23 23:28:16
上白沢しとりー@マヨネーズ係 @ndxbn

Laravelだと、RouterクラスがResponseFactoryを返しているので、Routerの責任、としているのですねー。

2016-01-23 23:33:15
上白沢しとりー@マヨネーズ係 @ndxbn

Routerは、Controllerの一部って認識でいいですよね…しらんけど。 Illuminate/Support/Facade/Response.php によると、普通に/Illuminate/Routing/ResponseFactory だそうです。

2016-01-23 23:35:18
上白沢しとりー@マヨネーズ係 @ndxbn

Fuel PHP だと、abstract class Controller が public $response_status = 200; を持っているので、完全にControllerの責任ですね

2016-01-23 23:37:27