PHP:关于MVC中的视图层?

时间:2012-07-29 08:19:48

标签: php html model-view-controller

关于MVC模式,视图层应该是“返回”HTML数据的函数,还是视图层实际上是HTML数据本身?

5 个答案:

答案 0 :(得分:4)

查看用于Web的MVC启发模式中的类(在Web上实现经典MVC非常困难,而只有PHP实现它是不可能的)负责表示逻辑。然后创建对请求的响应并处理多个模板。

信息从模型层到选择视图的方式在很大程度上取决于实现了哪种MVC模式。如果您使用的是MVP或MVVM,则控制器会提供信息,并且视图是被动的(但视图不是哑模板)。如果您使用Model2 MVC或HMVC模式,则视图处于活动状态,从模型层请求信息。

当此视图获取信息时,它会决定使用模板进行组合。或者即使模板甚至是必要的。然后创建响应。

每个View生成的响应可以是HTML,JSON,XML或纯文本。或者,如果需要,则仅发送HTTP标头(如进行重定向时)。这一切都是表示逻辑的一部分。

答案 1 :(得分:3)

模型,控制器和视图的边界线可以这样显示:

/* model models/post.php */

<?php
  class Post {
    public static all() {
      return Array(...);
    }
  }
?>

/* controller /posts/index.php */

<?php
  require "../../models/post.php"
  $posts = Post.all();
  require "../../views/posts/index.php"
?>

/* view /views/posts/index.php */

<?php foreeach ($posts as $post): ?>
  <p><?php echo $post['name']; ?></p>
<?php endforeach; ?>

在意识形态上它可能只是功能,但常见的做法就像模板引擎中的模板。所以视图层是html + data insertions(没有我们如何得到的逻辑和原因)。在意识形态上它也是功能,但不是框架的编程语言的功能,例如。

答案 2 :(得分:0)

查看是&#34;模板&#34;
模型是&#34;数据&#34;
控制器是&#34;连接器&#34;和algorithems的地方。

答案 3 :(得分:0)

视图图层受到您希望在客户端上作为演示文稿显示的内容。在大多数情况下,它是HTML,CSS和Javascript,您也可以使用XML和JSON。

在一般情况下,

控制器要求Model提供数据。

控制器可以根据需要对此数据进行更改。

Controller借助template / html将数据发送到View以显示。

答案 4 :(得分:-1)

View Layer是返回HTML数据的函数