私が見たすべての例では、MVCがモデルとしてクラスを使用し、コントローラーとしてクラスを使用し、ビューとしてHTMLテンプレートを使用する必要があります。そして、それらはすべて、1つのindex.phpスクリプトと、サイト全体を実行するためのURL内のさまざまなリクエストで構成されていました。
だから、それらはすべて次のようなものでした...
MODEL
class User{
function getUser($userID){
$sql = mysql_query('SELECT name......');
// more code.....
return $array
}
}
VIEW
<h2><?php echo $user['name']; ?></h2>
CONTROLLER
class Controller{
$userModel = new User;
$userInfo = $userModel->getUser($id);
$template = new Template('usertemplate.tpl');
$template->setVariables($userInfo);
$template->display();
}
モデルが単にデータを取得して保存するクラスで構成されている理由を理解しています(クラスは常に必要であり、関数を使用できると思いますが)。テンプレートが主にHTMLで構成されている理由を理解しています。しかし、なぜコントローラーがクラスなのかわかりません。コントローラーは手続き型スクリプト(モデルからユーザーデータを取得して表示用のテンプレートに送信するuserprofile.phpなど)であると想定します。
また、私が読んだすべてのチュートリアルでmodの書き換えが扱われ、「index.php?user = 1」やindex.php?news=3などのURLにリクエストがある単一のページを使用して全体を実行するのはなぜだろうと思っていました。サイト。user_profile.php?id = 1やnews.php?id =3..のような別々のページがあるのはどうしたのですか。
誰かが途中で簡単な「チュートリアル」と説明を手伝ってくれませんか。たとえば、MVCを使用して登録フォームをどのように実装するのでしょうか。ありがとうございました
PS。他にどのようなデザインパターンがありますか