Jquery Ajax和PHP MVC模型

t B*_*ook 5 php model-view-controller jquery

我正在使用Jquery和PHP构建一个小应用程序.Jquery(index.html)为用户添加表单字段并将其发送到PHP脚本(pdo.php).PHP脚本从数据库中提取值,并使用用户给定值和数据库中的值进行一些计算.总和将返回到表单页面.

index.html < - > pdo.php

因此,我试图了解PHP MVC模式我的问题是

a.)在这种情况下这是有意义的.

b.)如果是这样,那部分将是什么.index.html - > view; 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});
    }

     });
Run Code Online (Sandbox Code Playgroud)

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); 
    }
Run Code Online (Sandbox Code Playgroud)

iGb*_*nam 3

在标准 MVC Web 应用程序中,路由与控制器操作相匹配。这些控制器操作可以与模型交互[模型又与数据库交互]或执行一些其他与模型无关的计算,并呈现视图。很明显,这index.html就是视图。我认为您将控制器和模型捆绑在pdo.php.

我真的推荐评论中 PeeHaa 的链接。这个答案写得很好。

话虽如此,制作网络应用程序有许多架构模式。你的可能不是MVC。一些非 MVC 的著名框架是 SproutCore(基于视图的控制器)和 JSP 页面(单个控制器)。