【问题标题】:PHP MVC - How exactly do I use views?PHP MVC - 我究竟如何使用视图?
【发布时间】:2014-08-03 07:56:14
【问题描述】:

我正在尝试学习用于 PHP 开发的 MVC 设计模式,但我有几个关于视图结构的问题。

  1. 我不断看到“视图不是模板!”到处都是我读到 MVC 的地方。但是我如何包含诸如页眉、导航栏和页脚之类的东西呢?如果我有应该由所有视图共享的 html,我如何在没有模板的情况下将它包含在视图周围?

  2. 我还在堆栈溢出中的另一个线程上读到,视图不应该有 require 语句,它们是应该被要求的。但是如果我有一个视图应该在多个视图中需要,那该怎么办?假设某些视图有几行吐出一个列表,在视图中使用 require 语句重用代码比为每个视图重写它更合乎逻辑,但这显然违背了视图的本质。

谢谢。

【问题讨论】:

  • 如果你指的不是像 CakePHP 这样的特定框架,那么你的意思是 MVC 设计模式,而不是框架

标签: php html model-view-controller view


【解决方案1】:

模板不是视图,但视图可以使用模板。模板只是视图可以基于的可重用架构/设计。视图通常是特定页面或页面类型。

视图也应该几乎没有业务逻辑,并且应该专注于布局和设计,因此为什么应该很少或没有要求。

如果您的视图使用模板,那么您可能不需要包含页脚和页眉之类的内容,具体取决于您使用的模板系统。但是,如果您在没有模板的情况下创建视图,您可能必须自己在视图中包含这些内容。

关注可维护性、可扩展性以及设计与逻辑的分离,并尽可能让您的代码可重用。

【讨论】:

  • 页眉是模板,页脚是模板..页面内容有一些模板。视图会提取必要的数据并从这些(可能还有其他一些)模板组装页面。视图没有“业务逻辑”,但它们确实有 UI 逻辑。
猜你喜欢
  • 1970-01-01
  • 2013-01-09
  • 2019-08-21
  • 2012-07-30
  • 1970-01-01
  • 2011-09-17
  • 2011-07-17
  • 1970-01-01
  • 2021-01-07
相关资源
最近更新 更多