mvcモデルに関して、ご見解を聞きたいです。
現在、フレームワークを勉強中でして、
phpでslim3を使用しています。
ここでslimだと、
————————————————————————————————————————————————
$app->get('/[{name}]', function ($request, $response, $args) {
new ………Action();
});
――――――――――――――――――――――――――――――――――――――――――――――――
こんな形で処理を分けられますが、自分はrouterで処理をある程度、分けた方が可読性が良いかなと思ってます。
ですが通常はActionでコントローラーを行う的な事を知って、
routerでは細かくは制御せず、とりあえずActionに送るのが正しいのでしょうか。
自分は
slim(router)で処理を分ける。
↓
…Actionクラスで入力値のチェック、成功でCommandクラスへ
↓
…Commandクラスでワークフローを書く
↓
…Modelクラスで詳細な処理を書く、…DatabaseクラスでDBへアクセス
↓
処理結果オブジェクトをRouterで受け取って、テンプレートエンジンに渡す。
――――――――――――――――――――――――――――――――――――――――――――――――
$app->get('/[{name}]', function ($request, $response, $args) {
$res = new ………Action();
if($res->validate()){
$result = $res->execute();
return $this->view->render($response, 'profile.html', [
'result' => $result
]);
}else{
return $this->view->render($response, 'error.html', [
'result' => $args['name']
]);
}
});
――――――――――――――――――――――――――――――――――――――――――――――――
上記の様な感じで書けば、可読性が良いかなと思ったのですが、
皆様のご見解伺いたく存じます。routerの使い方どうですか。
名称の変更でも構いませんので、気づいた点伺えれば幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。