关于MVC模式,视图层应该是“返回”HTML数据的函数,还是视图层实际上是HTML数据本身?
答案 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数据的函数