2014-09-30 88 views
2

我喜欢为我的下一个项目使用phalcon,但是我处于使用VOLT(内置模板引擎)或SMARTY的难题。phalcon - 我们有Smarty模板引擎作为C扩展吗?

我之所以问这个问题的原因是Phalcon被写为C扩展名,所以我们手动添加的任何库如smarty都会杀死应用程序性能,这是人们使用Phalcon超过其他framwworks的第一个原因。

但是如果我们也有Smarty的C-extenstion,它会更快更高效,所以我只需要知道我们在phalcon中有这样的选项吗?

回答

1

Phalcon是一个很好的性能助推器,除非你做了很多沉重的模板渲染,这不会是99.999%的情况下的瓶颈。 Volt与其他引擎的创建缓存PHP渲染(如果启用)的方式并没有太大的不同,并在以后重用,即大多数性能增益都是在初始模板生成期间发生的,而不是实际渲染。

伏特缺点的主要(imho)是,它不像其他替代品如Twig和Smarty一样成熟稳定。 Phalcon的员工正在付出很多努力,在Phalcon和组件上做得很好,但他们还不够大(还没有),以保持我们大多数人希望的质量水平。结果找到麻烦与查找相关文档的机会相当高。

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

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

+0

不完全是一些人说的看起来 http://blog.sd.idv.tw/archives/788 – mahen3d 2014-09-30 07:33:41

+0

有几件事。首先,与Pinco试图弄清楚C扩展是否启用尚不清楚。其次,Twig调试已启用...为什么?第三,这是从缓存初始渲染还是渲染?最后,特定测试的时间差约为19微秒(1.3比20.5毫秒),尽管看起来很大,但当你有一个真正的具有数据库请求的案例应用程序和适当的模板以及一些帮助者时,该比例将会更大可能会从1:20变为200:220,这听起来并不会引人注目。 – 2014-09-30 16:33:56

+0

除了我没有说明Twig或别的什么都比Volt快,其实我确定Volt会更快。我所说的是Volt通常更成问题([目前有81个提及它的公开问题](https://github.com/phalcon/cphalcon/issues?q=volt+is%3Aopen)),而且通用性较差成熟的项目有更好的社区支持。如果你需要基本的模板渲染和寻找性能,那么Volt就是要走的路。如果你想使用Smarty,你不会错过很多,这很可能不会成为任何形式的瓶颈。你走了。 – 2014-09-30 16:38:32