关于MVC模式,视图层应该是'返回'HTML数据的函数,或者视图层实际上是HTML数据本身?PHP:关于MVC中的视图层?
回答
查看MVC启发式Web模式中的类(在Web上实现传统的MVC非常困难,仅使用PHP就不可能)负责表示逻辑。然后创建对请求的响应并处理多个模板。
信息从模型层到选定视图的方式很大程度上取决于MVC启发模式的实现方式。如果您使用的是MVP或MVVM,则信息由控制器提供,并且该视图是被动的(但视图是而非哑模板)。如果您要使用Model2 MVC或HMVC模式,则视图将从模型图层处于活动状态。
当此视图已获取信息时,它决定与模板合并。或者即使模板是必要的。然后创建响应。
每个View生成的响应可以是HTML,JSON,XML或纯文本。或者,如果需要的话,只发送一个HTTP头(就像做重定向时一样)。这全是演示逻辑的一部分。
视图层是返回的HTML数据
模型,控制器和视图的边界可以证明这样的功能:
/* 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
(没有我们如何得到的逻辑和为什么)。例如,意识形态也是功能,但不是框架编程语言的功能。
-1:视图不是一个愚蠢的模板,模型不是一个类。 – 2012-07-29 17:48:10
这是非常简单和错误的看MVC(它实际上是MVP的相同的错误实现,已由Rails传播)。你的回答坚持认为,这些观点没有逻辑。基本上你的答案与[pckabeer's](http://stackoverflow.com/a/11707811/727208)相同,只是填充了错误的代码。 – 2012-07-30 02:23:19
视图是“模板”
模式是“数据”
控制器是“连接器”和algorithems地方。
-1:视图不是模板,模型不是数据,你甚至没有丝毫的想法控制器应该做什么。 – 2012-07-29 17:44:08
视图层受制于您希望在客户端上以可视形式显示的内容。在大多数情况下,它是HTML,CSS和Javascript,你也可以使用XML和JSON。
在GENRAL,
控制器询问模型,以提供数据。
控制器可以根据需要更改此数据。
控制器将数据发送到视图以在template/html的帮助下显示。
这是MVP的混蛋,由Rails和其他以原型为重点的框架推广。 – 2012-07-29 17:34:59
不,我说的是MVC而不是MVP – 2012-07-29 21:10:59
控制器从模型层请求信息并将其传递给视图实例称为“主讲者”。 – 2012-07-29 23:00:39
- 1. Asp.net MVC关于n层的问题
- 2. ASP.NET MVC中的图层
- 3. PHP - 在MVC视图层使用数据库(Laravel Blade)
- 4. CakePhp:关于视图
- 5. PHP MVC视图循环
- 6. UIView的根层和根视图的层次关系是什么?
- 7. 关于路由和部分视图的MVC 3的SEO建议
- 8. 关于视图的疑问
- 9. 关于视图的问题
- 10. 关于视图的问题
- 11. 视图层中的时区
- 12. 关于在php中创建视图选择器的想法
- 13. 关于MVC的快速问题在PHP
- 14. 关于简单的PHP MVC示例
- 15. 在PHP中创建子视图MVC
- 16. MVC Scorm序列关于部分视图的问题
- 17. 关于ASP.NET MVC视图的JQuery自动完成
- 18. 关于生成ASP.NET MVC的问题“创建”视图
- 19. MVC:关于数据访问的视图和模型交互等
- 20. MVC 3与关于局部视图的剃刀问题
- 21. 关于salesforce中的列表视图
- 22. 关于C#中的列表视图#
- 23. 关于Scala中视图的问题
- 24. 关于Spring MVC中的servlet
- 25. Jquery和PHP层次结构视图
- 26. 视图层次
- 27. 关于在MySQL中使用视图视图的效率
- 28. 关于android中的滑动视图和子视图?
- 29. 关于图库视图的查询
- 30. 用于IEnumerable的MVC视图筛选器
-1,视图不是图层。它是由视图和控制器组成的“表示层”的一部分。另外,因为当层由功能组成时? – 2012-07-29 23:10:44
谢谢@tereško但我希望你能阅读这个问题。 – pckabeer 2012-07-30 05:05:55
如果OP的两个建议答案都是错误的,那么您必须选择一个答案。 – 2012-07-30 09:35:44