【问题标题】:Cases where HTML is not frowned upon inside of php? [closed]在 php 内部不反对 HTML 的情况? [关闭]
【发布时间】:2011-04-11 15:18:52
【问题描述】:

我知道控制内容应该与视图内容分开,但在很多情况下,我知道使用 html 模板执行操作会更慢且过于复杂。

我的问题是......它在哪里可以接受?

我所说的示例...输出非常动态的表格的函数、创建输入元素的函数以及格式化文本的函数。

除了“丑陋”之外,我能想到的唯一缺点是我没有在这些函数中使用制表符和换行符,这使得输出的 HTML 有点难看。大多数时候,当我面对这个问题时,我只是说忘记约定——在大多数情况下,功能胜出。

有人对此主题有任何见解或意见要分享吗?

【问题讨论】:

  • 不要担心 HTML 输出中的空格(除非它是预先格式化的)。像 firebug 这样的工具可以为您提供格式良好的 dom 视图,无论其中有多少额外的空格。
  • 我肯定不会看我访问的网页的 HTML(除非我想看看好的网页是如何工作的),所以只要它是有效的,你就可以了。只需看看 Google 的主页!它是无效的,但它是一团不可读的代码。
  • 这个问题属于Proprammers.SE,应该改写。

标签: php html model-view-controller standards conventions


【解决方案1】:

这取决于您想分离您的关注点的程度。一般规则是您应该能够在不影响幕后逻辑的情况下切换页面的显示。

想想你所写的内容是属于你网站的表现层,还是属于业务逻辑。

如果你正在写的部分内容与它的显示方式完全不同,它可能应该在另一个地方。

但同样,这在很大程度上取决于项目的开发人员和范围。对于小型项目,将逻辑与演示文稿 (HTML) 混合并不是一件坏事,因为它可以节省时间。但是,如果您正在开发大型应用程序,则需要更加严格地分离关注点,以便从长远来看更容易维护。

【讨论】:

    【解决方案2】:

    我知道这需要更多的工作,但从长远来看,MVC 模式更易于维护。即使对于动态表,最好创建一个可以创建任何大小的表/列表/div 的类,然后将数据传递给它,而不是在模型/控制器中拥有视图数据。

    我有时会在非常小的项目上作弊,并将业务逻辑与演示相结合,但如果项目不断增长,通常需要更多的工作来纠正它。因此,除非我真的很懒,否则以 MVC 方式实现代码相当严格并不难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-06
      • 2018-09-12
      • 1970-01-01
      • 2021-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      相关资源
      最近更新 更多