模板系统或PHP包含声明?

时间:2013-07-02 03:44:16

标签: php html templates

真的很简单;当我只想在HTML文件中使用PHP include语句时,为什么我要使用像Smarty这样的模板系统来分离HTML和PHP代码呢?

我的逻辑错了吗?


编辑:谢谢你的回答,我有点像初学者,所以让我做对了。据我所知,关于我的问题,使用php自己的语句来成功实现模板系统是完全可以的。包含和读取等语句。

我不明白为什么使用PHP会比使用其他系统更麻烦,这只是一个令人讨厌的东西,而php有自己的简单系统只是为了这样的用途而实现...

2 个答案:

答案 0 :(得分:0)

它是为模板作者提供PHP功能的简化子集,模板作者通常是前端开发人员,他们没有后端技能。

它还促进了更好的MVC设计,因为大多数模板语言提供的功能子集仅包含处理应用程序视图问题的函数,使得在视图中进行模型操作变得困难或不可能。

答案 1 :(得分:0)

这更多的是良好实践而非逻辑本身。

开发人员在创建网站时应该记住几件事情,即安全性,效率,易维护性,而不一定是那个顺序。

我发现制作一个MVC架构可以让你把所有东西整齐地分开。你需要做正确的事情,这可能需要几次尝试,但这是程序员的一部分。

在玩MVC时,我发现使用注册表特别有效。当应用程序运行模型逻辑时,您可以将数据添加到注册表。当它结束时,你开始创建输出html。

现在,这因人而异,但我发现这是我个案的最佳方法:

输出页面框架/准系统/无论你怎么称呼它。即使它只是html head标签。使用需要将模板加载到页面的空白部分。在模板代码中,您只需从注册表中读取即可确定要打印的数据。你可以在其他模板中使用较小的模板,几乎没有增加的复杂性,特别是如果你把它看作其他函数中的函数调用,除了这是视图逻辑,而不是模型。

这为程序员和设计人员提供了充分的灵活性,即使其中一个组大大改变了他们的代码,只要注册表中的数据保持相同的名称标签。

老实说,我从未使用模板系统,因为从我所看到的,我上面描述的方法创建了更易读的代码,它满足了我的所有需求。仅仅因为存在其他玩具,你就不必玩它们了。事实上,如果你真的不需要使用任何外部的东西,你就不应该这样做,这将使你的代码更小,更快,更容易理解,因为你没有写入的代码更少,这将是影响效率和可维护性。

相关问题