本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2009年05月21日 统计字数: 7738字 阅读时间: 16分钟阅读 本文链接: https://soulteary.com/2009/05/21/speed-wordpress-01.html ----- # [Php]WordPress细节优化 - 01 现在随便逛几个博客就能看到MG12做的iNove,呵呵,我这个也是,经过一个礼拜的解剖,俺打算把解剖心得发上来留个纪念。[bt...啥心理,解剖了人家的东西还要说心得。] 个人觉得wordpress fans们最关注的莫过于wordpress的速度了。 所以先从Php脚本开始说吧,总所周知一个好的计划会避免走很多岔路从而提高工作学习的效率,程序也是如此。 不过在程序中,这个名词被换成了“程序结构”,有良好的结构的话,可以减少不必要的损耗,从而提高反应速度。 如果我们同样使用这款iNove,在插件和服务器环境一样,流量相同等情况下,【控制变量法】 假设我的程序要请求10次数据库,你的要请求20次,我的就会比你的快一点点。 积少成多,我们的速度便会明显起来了。 比如我们打开MG12的 archive.php ,顾名思义这个文件是负责生成日志存档页面的, 略过获取配置等“闲言碎语”,来到了输出页面描述的地方。如下: ```php ``` MG12的写法很高级,函数套函数的,比如: ```php ``` 程序先申请两个大的变量一个存放 ```php ``` 另一个存放 ```php ``` 最后再用标准的输出函数输出为 ```php ``` 忘记从哪里看到了一个说法是printf 速度<echo速度<直接输出HTML速度 ```php ``` 这种边边角角的地方很多,如果都这样适当的提速的话[尤其是输出大段文字的时候],相信你的iNove一定比别人的快。 接下来我看到了一个获取标题的函数,对于这种不加参数便能在多种情况下使用的函数,我们需要特别留意,因为这种智能函数是特别浪费资源的。 ```php ``` 顺藤摸瓜,在wordpress的API中找到了这个函数的原型 ```php ``` 可以看到这个函数请求数据库多次,【继续查看其他的函数得到】,基本上前面的9个变量赋值都请求了一次或多次数据库,我们的归档页面似乎只是需要获取年月日而已吧。所以我们可以把它精简一下,以提高速度 如果你图省事的话,可以这么来,它可以像刚刚的函数一样的调用,但是只会请求三次数据库。 可是无论什么情况下都请求三次也太浪费了,我们只要获取年份,它也要获取3次... ```php ``` 于是出现了改良的版本 ```php ``` 别看代码是多了,但是并不是每个代码都要走一遍于是效率便提高了,这两个函数的使用方法很简单,如下 你可以把函数附加到你的archive.php尾部,然后替换原来的显示函数为下面的其中一种。 ```php ``` 待续....