当前位置: 首页 > 面试题库 >

为什么要在PHP中使用模板系统?

韩博简
2023-03-14
问题内容

为什么要在PHP中使用模板系统?

我的问题背后的原因是:PHP本身是功能丰富的模板系统,为什么要安装另一个模板引擎?

到目前为止,我发现的仅有的两个专业人士是:

  1. 语法更简洁(有时)
  2. 模板引擎通常不足以实现业务逻辑,因此会迫使您分离关注点。使用PHP进行模板化可以吸引您了解模板化原理,并重新开始编写代码。

…与利弊相比,两者都可以忽略不计。

小例子:

的PHP

<h1><?=$title?></h1>
<ul>
  <? foreach ($items as $item) {?>
  <li><?=$item?></li>
  <? } ?>
</ul>

聪明的

<h1>{$title}</h1>
<ul>
  {foreach item=item from=$items}
  <li>{$item}</li>
  {/foreach}
</ul>

我真的没有任何区别。


问题答案:

是的,正如您所说,如果您不强迫自己在PHP内部使用模板引擎(模板引擎),则很容易滑倒并停止分离问题。

但是
,遇到问题分离的同一个人最终会生成HTML并将其提供给smarty,或者在Smarty中执行PHP代码,因此Smarty很难解决您的关注分离问题。



 类似资料:
  • 问题内容: 我很好奇,将框架与PHP一起使用有什么优缺点? 从版本3开始,我一直在使用PHP。无论如何,我从未使用过任何可用于PHP的框架,所以我错过了什么? 问题答案: 框架使您从低级详细信息中抽象出来,使您的工作效率更高,并保护您免受低级错误(例如防止SQL注入攻击)的侵害。 一个好的PHP框架会迫使您分离您的关注点并实现经过验证的体系结构,从而最终改善您的设计,并使您的代码更易于阅读和维护以

  • 问题内容: 我上周才刚开始使用jQuery,到目前为止,我已经使用ajax制作了一些基本系统,例如基本jQuery CRUD和简单的聊天系统,而没有参考其他人的工作,因为我决定测试一下自己在jQuery中可以单独完成系统的程度还没有JSON和XML)。 但是,当我决定查看他人的工作时(希望在那里获得/学习良好的实践和代码),许多或几乎每个处理ajax的程序都包含一些JSON。因此,我决定专门研究和

  • 我不喜欢这个模式的地方,就像我添加的链接的评论中提到的那样,一个topping不是一个pizza,所以为什么它要继承pizza类呢? 我心目中的解决方案是在对象中使用对象数组,并使用该数组添加或删除披萨的浇头。 这种解决方案不是比使用decorator模式简单得多吗?为什么我们要考虑在这种情况下使用decorator模式呢?

  • 问题内容: 我正在使用PHP的用户角色/权限系统来编写脚本。 下面是使用位掩码方法获得phpbuilder.com权限的代码。 在该部分下面是一个简单得多的版本,w3hich可以在几乎没有该部分的情况下完成相同的操作。 许多人建议使用位运算符,例如PHP中的设置和其他内容,但我从来不明白为什么。在下面的代码中,使用第一个代码而不是第二个代码有什么 好处 ? 非位版本 问题答案: 为什么不这样做呢?

  • 问题内容: 问候语,当前正在开发小型Web服务应用程序,其中来自Web服务(使用CXF + Spring)的响应已处理并保存到数据库中。为了使用数据库,我正在使用Hibernate(3.5)。在网络上浏览一些Hibernate + Spring示例,我经常可以看到HibernateTemplate的用法,因此我对此感到有些困惑,想问一下: 您是否在Hibernate3应用程序中使用Hibernat

  • 问题内容: 我正在检查一些功能,并在网站上浏览了一些看起来很有趣的代码: 作为匿名函数的例子之一。 有人知道吗?有文件吗?而且看起来很邪恶,应该使用它吗? 问题答案: 这就是PHP表示闭包的方式。这根本不是邪恶的,实际上它是强大而有用的。 基本上,这意味着您要允许匿名函数在其作用域之外“捕获”局部变量(在这种情况下为),并将其值(或在引用其自身的情况下)保留为内部状态匿名函数本身。