welefen的随笔

标签存档: smarty

使用xhprof分析PHP的性能瓶颈

IN:PHP   标签: , , , ,    评论: 0

最近利用空闲的时间准备对Fl进行重构,Fl是一个支持模版语法(如:Smarty3模版语法)的HTML/Js/Css解析,压缩,美化,检测等工具。关于Fl的更多信息你可以从github上了解。

但是重构完HTML的解析之后,在使用simpletest进行单元测试的时候,使用豆瓣首页的源代码发现比较慢,发现需要1.5s,但在第一个版本中只要200ms就解析完了,这个差距是完全不能接受的。虽然这次重构对很多方法进行了抽象,但应该不至于直接导致这么慢。

之前看过可以使用Facebook开发的xhprof来分析PHP的性能,安装了下分析后终于发现了直接影响到性能的瓶颈。xhprof的安装网上有很多教程,这里就不在说明了。 这里就有个安装的教程: http://hi.baidu.com/thinkinginlamp/blog/item/f4bd08fa1a03ba9e59ee90fd.html

 

继续阅读 »

12-10
2011

Smarty中实现模板继承功能

IN:PHP   标签: , ,    评论: 4

在PHP+Smarty大行其道的今天,怎么样进行快速的模板开发成为了前端开发人员必须思考的问题。不同的页面,相同或者相似的页面结构是否进行了模块化处理,同样的头部或者尾部是否进行了内容分离决定了开发的效率。虽然Smarty本身支持include a file的功能,但这远远不够。我们需要的是不想重写同样的页面结构。

Jinja2的模板继承功能

Jinja是基于python的模板引擎,有个非常实用的功能就是模板继承。不太了解的可以去这里看详细的介绍http://opensource.csdn.net/bbs/thread/3943?lp=1

模板继承的好处就是你不在需要写整个页面,只要写页面的模块,然后用一个布局的页面套一下就可以了。并且页面中的模块书写顺序是无序的。

smarty本身并没有模板继承的功能,但我们可以通过block,capture和方法插件(其实block,capture也是插件)。 继续阅读 »

02-11
2010
loading...