5

Jquery と PHP を使用して小さなアプリケーションを構築しています。Jquery (index.html) は、ユーザーのフォーム フィールドを追加し、それらを PHP スクリプト (pdo.php) に送信します。PHP スクリプトは、データベースから値をフェッチし、ユーザーが指定した値と DB からの値を使用していくつかの計算を行います。合計はフォームページに返されます。

index.html <-> pdo.php

したがって、私はPHP MVCパターンを理解しようとしています私の質問は

a.) この場合、これは理にかなっています。

b.) もしそうなら、どの部分が何であるか。index.html --> ビュー; pdo.php --> モデル; コントローラー --> ?

ご協力いただきありがとうございます、

トニー

切り取る

jquery ... index.html

$(document).ready(function(){
    $("#buttonAjax").click(function(){
        var name = encodeURI($("#name").val());

            $.ajax({
                type: "POST",
                url: "pdo.php",
                data: "name="+name,
                success: function(data){
                    var json = $.parseJSON(data);
                    $("#output").html(json.summe);
                    talk(json.say);
                }
            });

    });

    function talk (say){
        jQuery.noticeAdd({text: say,stay: false});
    }

     });

pdo.php

/* DB Connection */
    $strDbLocation = 'mysql:dbname=test;host=localhost';
    $strDbUser = 'root';
    $strDbPassword = 'root';

    try{
        $objDb = new PDO($strDbLocation, $strDbUser, $strDbPassword);
    }
    catch (PDOException $e){
        echo 'Failure: ' . $e->getMessage();
    }


/* Fetch POST Data */
    $id = $_POST['name'];


/* Build query */
    $dbSelect =  $objDb->prepare("SELECT Age,Name FROM Benutzer WHERE id = :id");
    $dbSelect -> setFetchMode(PDO::FETCH_ASSOC);  
    $dbSelect -> bindParam('id', $id);
    $dbSelect -> execute();


/* Output + Calculate */    
    while($row = $dbSelect->fetch()) {  
        $total =  $row['Age'] / 100 . "<br />";
    }  


/* Return to User */
    if(!empty($total)){ 
        $ret = Array("summe" => "Summe: " . $total, "say" => "all right");
        echo json_encode($ret); }
    else{
        $ret = Array("summe" => "Nothing for you",  "say" => "nothing for you");
        echo json_encode($ret); 
    }
4

2 に答える 2

3

標準の MVC webapp では、ルートはコントローラー アクションに一致します。これらのコントローラー アクションは、[モデル] [データベースとのインターフェイス] とやり取りするか、モデルに依存しないその他の計算を実行し、ビューをレンダリングします。ビューであることは明らかですindex.html。そして、コントローラーとモデルが にバンドルされていると思いますpdo.php

コメントの PeeHaa のリンクを本当にお勧めします。その答えはよく書かれています。

そうは言っても、Web アプリケーションの作成には多くのアーキテクチャ パターンがあります。あなたのものはMVCではないかもしれません。MVC ではない有名なフレームワークには、SproutCore (ビューベースのコントローラー) と JSP ページ (単一のコントローラー) があります。

于 2012-07-03T07:47:51.763 に答える
0

コントローラーの使用は、php を使用して html のフォーム要素を制御することです。例:

/ * Fetch POST Data */
    $id = $_POST['name'];

モデルの使用は、データベースでのみ使用されます (挿入、選択、..)

于 2012-07-03T07:43:30.117 に答える