属于ModelContloller主要用来控制管理各个访问与处理(Model)/视图的关系处理。

解决方案 »

  1.   

    你可能是把三层结构和MVC给弄混了。
      

  2.   

    我和我partner的对话,关于上面的问题:例如:用户登录的过程其中验证用户密码正确性的过程应该输入MVC中的哪一步?谢谢了
    我认为是C,但是有人认为是M。我觉得应该是C啊。
    Sent at 9:27 AM on Friday
    go4pro.org: 令狐虫 : 验证过程当然是C,说M的人回去复读
    TR: http://topic.csdn.net/u/20081121/03/17879a04-cd8c-46b2-af66-e68e7d970599.html
    前令狐去看一下。
    Sent at 9:42 AM on Friday
    go4pro.org: 令狐虫 : 哦。我理解错了,如果这么说的确应该是在M层
    TR: ???难道我们都理解错了?
    我从他的文字中,我判断应该是在C里啊
    至少在我们的狗屎皮中,这个判断是在C里的。
    go4pro.org: 令狐虫 : 其实我们的系统就是MVC结构的,C就是我们的Controller,只负责根据Function处理的结果进行跳转。我们的M就是Function目录下的那些东西
    TR: 对的。
    go4pro.org: 令狐虫 : 他说的是“验证密码正确性”这个应该算是一个function也就是M
    令狐虫 : C的作用是根据这个function返回的结果给出不同的V
    TR: 他说的是“验证密码正确性”的过程………………
    go4pro.org: 令狐虫 : 所以这就变成了一个文字游戏了……
    TR: 可能是他的表述有点模糊吧……
    因为我的理解是,M返回一个“对”、“错”,然后C负责去不同的定向……
    而M如何返回对错是无所谓的……
    go4pro.org: 令狐虫 : 你的理解完全正确
    令狐虫 : 至于那个人问这个问题的本意,已经不重要了……
    TR: 呵呵如此说来,是他的表述有点模糊。
    我把这段对话贴回去……
    供大家讨论吧……
      

  3.   

    验证用户密码正确性的过程去哪(where)验证,接收并且传递结果显示是属于C的工作范围.
    而显示结果给用户就属于V的工作范围
    而M封装了数据库存取的接口,当然负责数据的验证了.
      

  4.   

    如果单说验证处理,他应该属于M的范畴(数据层在它之下),
    因为,数据如何来的,向用户返回什么也面,跟验证处理毫无关系。
    但是如果是从用户的角度说整个操作,那就MVC都包括了。lz提的问题本身就不严密。
    或者应该问,验证处理的整个步骤,M在干什么、V在干什么、C在干什么。
      

  5.   

    知道了,我写一下过程
    1,表单提交
    2,$db_conn=new mysqli(........)$username=$_POST['username']
    $password=$_POST['password']$sql=select username from member where username='$username'if($db_conn->query($sql)) echo "welcome come";
    else "wrong page";其实我的意思指的就是if($db_conn->query($sql)) 的过程是属于哪个,我的理解是属于C,简单说在这个例子中判断用户名和密码是否正确是C告诉程序我该做哪个(echo "welcome come";/else "wrong page";),而echo 的两个部分应该属于M.当然这段没有封装。但是我决的封装后也有两种情况
    1,if进行判断,然后读取funtion
    2,将if也一起封装进去当然两者的不同仅仅是if在内在外的差别,请问这样该如何理解,谢谢
      

  6.   

    你这么写,当然是在M了。MVC后:C:$username=$_POST['username']
    $password=$_POST['password']$result=checkUser($username, $password);if ($result) //验证通过
        header("location: login_ok.php");
    else
        header("location: login.php");
    M:
    function checkUser(....)
    {
    ....
    }
      

  7.   

    请问朋友的理解,如果从判断,查询属于M层,那么$username=$_POST['username'] 
    $password=$_POST['password'] 是不是只有这两个属于 C,即接受请求
      

  8.   

    可以这样理解.
    但其实前面还有一个过滤层呢,不能直接获取post数据的.
      

  9.   

    M层
    C控制层,就是调用M,呈现V,可以不再C层,过多验证操作
      

  10.   


    这些属于层与层间互相通信的信息,不属于任何层。
    这些信息的载体,PHP默认是$_POST、$_REQUEST等联想数组,
    在正统的MVC模型中,通常使用Bean也叫做POJO。M中,专门用来传送信息数据的BEAN也叫做DTO。