Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这是MVC吗?_Php_Jquery_Model View Controller_Design Patterns - Fatal编程技术网

Php 这是MVC吗?

Php 这是MVC吗?,php,jquery,model-view-controller,design-patterns,Php,Jquery,Model View Controller,Design Patterns,这是一个关于MVC的一般性问题 我编写了一个PHP类,它向Jquery发送一个包含核心JsonData字符串的数组。。在Jquery上,我访问数据并将它们添加到我的视图(.append(“htm stuff”+jsondata)) 现在,Jquery从between.php页面调用数据,该页面有一个包含许多case的catch块,在被调用的case/function上,between页面从发送json数据的php类调用函数 因此,我有我的oop php模型,它发送核心jsondata、控制器(c

这是一个关于MVC的一般性问题

我编写了一个PHP类,它向Jquery发送一个包含核心JsonData字符串的数组。。在Jquery上,我访问数据并将它们添加到我的视图(.append(“htm stuff”+jsondata))

现在,Jquery从between.php页面调用数据,该页面有一个包含许多case的catch块,在被调用的case/function上,between页面从发送json数据的php类调用函数

因此,我有我的oop php模型,它发送核心jsondata、控制器(catch块)和视图(jquery页面)。。这是MVC吗?还是我不明白


我的一个代码示例发布在前面的一个问题上

任何满足或遵循该模式的东西都称为MVC。这取决于我们采取这种或那种方式


在我看来,就像我说的,如果它满足MVC需求,那么就称它为MVC。

看看你在另一篇文章中发布的代码,它不是MVC实现。或者至少它是一个糟糕的实现

MVC是关于将您的演示与您的业务逻辑分离。从你的博士后课程来看,你没有将你的业务逻辑与你的观点分开:

public static function readPosts(){
    $query = new Post_db("SELECT * FROM pmessage
                          ORDER BY p_id DESC
                         ");

    $posts = array();
    while($row = $query->fetchRow()){
        $posts [] = new Post($row);
    }

    foreach($posts as $item){
        echo $item;
    }
}

在这个函数中,您可以从数据库(业务逻辑)获取信息并打印内容(视图)。换句话说,你可以用一种方法组合你的MV。所以我想说:不,这不是MVC。

简单地说,MVC是一种模式,但它应该遵循某种编码模式,即关注点分离

  • 模型:属性类,基本上是表数据的容器
  • 视图:使用模型显示数据的简单HTML页面
  • 控制器:它向模型发送命令以更新模型的状态 。它还可以像路由器一样将模型发送到视图,反之亦然
请参阅下面的链接以获取参考


我从未见过这样的实现。您是在学习还是在开发?如果正在开发,我建议使用框架,因为1。它更安全。它更容易、更快。特色4。您不必思考(这样或那样?框架强制您以正确的方式进行)。你可以在谷歌上搜索一段时间。只要勒宁:),但是谢谢你的建议!我完全同意Janis Veinbergs的观点。更具体地说,我想在谷歌上搜索一个用于php的MVC框架。是一个很受欢迎的版本,一个全新的版本名为强调轻量级的感觉和速度。我同意,但我要进一步说,访问数据库是一项数据访问责任,值得它自己的业务层承担。我是存储库模型的粉丝,它为您提供了一种强大的能力,可以在将来更改持久性方法。