我是第一次使用CodeIgniter创建一个新网站。在视图中,编写了PHP代码。我正在考虑将代码与显示完全分开,正如我几年前使用Smarty所做的那样。
我找到了CodeIgniter提供的模板引擎:http://ellislab.com/codeigniter/user-guide/libraries/parser.html
但在页面内部,我发现了这个说明:
注意:CodeIgniter不要求您使用此类,因为在视图页面中使用纯PHP可以让它们运行得更快一些。但是,如果某些开发人员与他们认为会发现使用PHP的混淆的设计人员合作,他们会更喜欢使用模板引擎。
所以,我想要一些帮助来选择合适的东西。我应该使用纯PHP吗?当编码风格已经是MVC时,使用像这样的模板引擎有什么好处?使用Smarty会更好吗,我已经知道了一点吗?
网站需要非常安全且非常快,将使用大量的AJAX(我当时也考虑安装websocket,但目前的问题没有链接)。
感谢您的帮助!
答案 0 :(得分:1)
如果你想使用模板引擎,我建议Twig。 http://twig.sensiolabs.org/
答案 1 :(得分:1)
如果你需要你的应用程序很快,那么你在选择Codeigniter方面已经受到了很大的启发,因为它是一个非常轻量级的框架,它可以很容易地解决大多数速度问题,而不涉及缓存。
有一种说法,除非你需要,否则你不应该扩展,我认为它在这里适用得很好。除非您显示数兆字节的数据,否则我不会看到选择模板引擎会如何影响应用程序的整体速度。如果确实发生了这种情况,您可以随时查看缓存某些响应/各种其他信息或第三方解决方案(即Gearman),这些内容现在可能过度。
如果您想学习新知识,请使用Codeigniter模板库;如果您需要快速开发某些东西,请使用您最了解的工具。作为一个偏好,我喜欢Twig,并且有一个CI实现,称为Twiggy:http://edmundask.github.io/codeigniter-twiggy/
至于安全性,我认为它不像企业级框架那样强大,比如Symfony或ZF2,它们更加重视这一点。它们本身就是更完整的包,并且通过缓存,它们执行速度超快,但它们具有更高的学习曲线。
更新我的意思是,除非您显示大量数据,否则您不应该考虑模板引擎的速度,因为对您的网页的影响可以忽略不计渲染速度。不要以为这是用户会注意到的事情,因为执行时间的0.0x的顺序不明显。看看SMARTY和Twig之间的比较:http://umumble.com/blogs/php/249/
Smarty的执行时间为0.058秒,而Twig的执行时间为0.083秒。模板引擎总是带来开销,它们的设施是使开发更容易,并且在与设计师合作时有所帮助。