纯PHP / HTML视图VS模板引擎视图

我想知道哪种方法更快,在 HTML文件中使用纯 PHP或使用Smarty,Twig等模板引擎……
我特别想知道的是:解析得更快,Smarty缓存比使用纯PHP更快吗?
哪个模板引擎最快?我即将重写简单的应用程序,其中速度是第一位的.
“取决于”是您所有问题的答案.

什么是“更快”?执行时间处理时间?开发时间?保养?内存开销?它们的混合物?模板引擎通常以某种性能(速度,内存)进行交易,以便更好地进行开发和维护.

如果你在谈论纯动态模板(意思是:在每个请求上评估模板),PHP将超过任何模板引擎.真的,这是一个nobrainer.如果你考虑缓存,像Smarty这样的模板引擎可能有所帮助.不过,在纯PHP中,缓存并不是你自己无法实现的.有了Smarty,它就是为你完成的(并且比你想象的要复杂得多).

如果您使用的是Symfony框架,那么使用Twig可能是明智的,因为Twig和Symfony是紧密集成的.当然你可以使用Smarty或普通的PHP.这里的问题是:它是否切实可行?

数据库(如数据库或远程API)构建网站时,缓存很有意义.你真正节省的(在某种程度上是减少的)这里是数据库调用,密集计算等.检查你是否有任何时间密集的功能来构建你的网站.如果是这样,请使用缓存(如果可以).

了解开发/维护/便利/性能权衡,我会(总是)建议使用模板引擎.作为一名Smarty开发者,我当然建议使用Smarty.除非你使用Symfony,否则你可能会更好地使用Twig.或者其他一些框架以其他模板引擎为特色.

请忽略像Smarty vs. Twig这样的帖子,因为它们只比较了非常有限的引擎视图.不要相信你没有假装自己的基准测试™.

但总的来说,Smarty 3.1比Twig快一点. Twig在运行时(正在执行模板的时候)正在做很多事情,Smarty在编译时(在准备执行模板的时候)做了很多事情. Twig并没有真正在这里惹恼速度. Twig需要在运行时通过设计来做某些事情.他们为了一些“Convenienve”交换了一些性能(例如,访问具有相同表示法的数组和对象).

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...