0

PHP Web サイトを開発しています。クエリと関数にのみクラスを使用しているため、純粋なオブジェクト指向コードを使用していませんが、MVC アプローチを使用して、html のクリーンなビュー コードを作成しようとしています。「ビジネスロジック」とビューを分離しているので、すべてがうまくいきます。ロジックはすべて「コントローラー」フォルダーにあり、すべての変数を表示するビューに渡します。

私はフォームで立ち往生しています。

上記のアプローチでフォームが使用する変数を渡していますが、フォーム アクションはどうでしょうか。コントローラ ファイルで $_POST データを渡す必要があります。

「アクション」 $_GET が取得されると、私の管理ビューが表示されます。

switch ($action) { 
    default:
        break;
    case "npr":
        require "controller/admincontents/inner/newproject.php";
        break;
    case "mpr":
        require "controller/admincontents/inner/modifyproject.php";
        break;
    case "dpr":
    require "controller/admincontents/inner/deleteproject.php";
    break;
}

次に、フォームを呼び出す newproject.php に移動します。

<?php 
require "views/adminviews/forms/insnuovoprogetto.php";
?>

フォームにはアクションがありますが、アクションはどこを指す必要がありますか? 確認ビューと成功ビューを実行したいのですが、同じページに入れることができません。

このアプローチを使用しない場合は、 isset($_POST) 関数を使用して、フォーム、確認、および成功をオンまたはオフにすることができます。

フォームの MVC で使用するアプローチにリダイレクトできますか?

4

2 に答える 2

-1

MVC構造に従って、

  1. コントローラはURLパラメータ($ _GET)によって決定されます
  2. 同様に、コントローラによってはビューファイルもレンダリングする必要があります。setLayoutやsetViewのような関数を作成して、ビューファイルをレンダリングできます
  3. コントローラに応じて、フォームアクションについて手動で言及する必要があります
于 2012-06-19T11:50:07.413 に答える
-1

独自のコードを作成するよりも、任意の MVC フレームワークを使用することをお勧めします。codeigniter、cakePHP、Zend Framework などの php フレームワークを使用できます。まず、これらのフレームワークがどのように動作するかを理解してから、独自のフレームワークの開発を開始してください。個人的には、Codeigniter は初心者が MVC アプローチを学ぶのに最適なプラットフォームだと思います。

于 2012-06-19T12:03:34.427 に答える