【问题标题】:phalcon - Do we have Smarty Template Engine as C extension ?phalcon - 我们有 Smarty 模板引擎作为 C 扩展吗?
【发布时间】:2014-11-24 17:17:50
【问题描述】:

我喜欢在我的下一个项目中使用 phalcon,但是我在使用 VOLT(内置模板引擎)或 SMARTY 时陷入困境。

我问这个问题的原因是 Phalcon 是作为 C 扩展编写的,所以我们像 smarty 一样手动添加的任何库都会降低应用程序的性能,这是人们使用 Phalcon 而不是其他框架的第一个原因。

但如果我们也为 Smarty 提供 C 扩展,它会更快更高效,所以我只需要知道我们在 phalcon 中是否有类似的选项?

【问题讨论】:

    标签: smarty phalcon volt


    【解决方案1】:

    Phalcon 是一个出色的性能提升器,除非您进行大量繁重的模板渲染,否则在 99.999% 的情况下这不会成为瓶颈。 Volt 在创建缓存 PHP 渲染(如果启用)并在以后重用它的方式上与其他引擎并没有太大区别,即,大部分性能提升发生在初始模板生成期间,而不是实际渲染期间。

    Volt 的主要缺点(恕我直言)是它不像 Twig 和 Smarty 等其他替代品那样成熟和稳定。 Phalcon 的人付出了很多努力,并且在 Phalcon 和组件上做得很好,但他们还不够大(还)无法将其保持在我们大多数人希望的质量水平。因此,与查找相关文档相比,发现问题的机会非常高。

    如果 Smarty 有一个 C 扩展并且你熟悉它,那就去吧。如果没有,但你想要一些可以使用 Twig 的性能扭曲的东西,我已经在 Phalcon 上使用了一段时间,从来没有遇到任何问题。否则,在使用 Smarty 作为普通 PHP 库时,速度上的差异可能不会很明显。

    Phalcon Incubator 中,您可以找到集成 Smarty 和 Twig 的实现。

    【讨论】:

    • 有些人说的不完全是blog.sd.idv.tw/archives/788
    • 一些事情。首先,就像 Pinco 试图弄清楚是否启用了 C 扩展一样尚不清楚。其次,启用了 Twig 调试……为什么?第三,这是初始渲染还是从缓存中渲染?最后,该特定测试中的时间差约为 19 微秒(1.3 对 20.5 毫秒),虽然它看起来很大,但当您有一个带有数据库请求和适当模板的真实案例应用程序以及一些帮助程序时,这个比率会更多可能会从 1:20 变为 200:220,这听起来并不那么戏剧化。
    • 除了我根本没有说 Twig 或其他任何东西会比 Volt 更快,事实上我确信 Volt 会更快。我要说的是,与拥有更好社区支持的更成熟的项目相比,Volt 通常更成问题 (currently 81 open issue with mentioning it) 并且通用性更低。如果您需要基本的模板渲染并寻找性能,Volt 是您的最佳选择。如果你想使用 Smarty,你不会错过很多,而且这很可能不会成为任何类型的瓶颈。给你。
    猜你喜欢
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 2013-04-04
    相关资源
    最近更新 更多