1 / 16
文档名称:

php优化.doc

格式:doc   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

php优化.doc

上传人:xgs758698 2016/3/21 文件大小:0 KB

下载得到文件列表

php优化.doc

相关文档

文档介绍

文档介绍:榨干 PHP, 不得不转的一篇 PHP 使用技巧! 这篇杂文翻译整理自网络各路文档资料( 见最末的参考资料) ,尤其是 Ilia sky (佩服之至) 在多个 PHP 会议上的演讲,主要是各类提高 PHP 性能的技巧。为求精准,很多部分都有详细的效率数据,以及对应的版本等等。偷懒,数据就不一一给出了,直接给结论, 如果需要看原文档,请到文末「参考资料」部分。橙色标题为推荐部分。======================================================== [size=+2] 静态调用的成员一定要定义成 static (PHP5 ONLY) 贴士: PHP 5 引入了静态成员的概念,作用和 PHP 4 的函数内部静态变量一致,但前者是作为类的成员来使用。静态变量和 Ruby 的类变量(class variable) 差不多,所有类的实例共享同一个静态变量。 QUOTE: // PHP CODE Highliting for CU by dZ902 <?php class foo { function bar() { echo 'foobar'; }} $foo = new foo; // instance way $foo->bar(); // static way foo::bar(); ?> 静态地调用非 static 成员, 效率会比静态地调用 static 成员慢 50-60% 。主要是因为前者会产生 E_STRICT 警告,内部也需要做转换。[size=+2] 使用类常量(PHP5 ONLY) 贴士: PHP 5 新功能,类似于 C++ 的 const 。使用类常量的好处是: - 编译时解析,没有额外开销- 杂凑表更小,所以内部查找更快- 类常量仅存在于特定「命名空间」,所以杂凑名更短- 代码更干净,使除错更方便[size=+2]( 暂时) 不要使用 require/include_once require/include_once 每次被调用的时候都会打开目标文件! - 如果用绝对路径的话, PHP 不存在这个问题- 新版的 APC 缓存系统已经解决这个问题文件 I/O 增加=> 效率降低如果需要,可以自行检查文件是否已被 require/include 。[size=+2] 不要调用毫无意义的函数有对应的常量的时候,不要使用函数。 QUOTE: // PHP CODE Highliting for CU by dZ902 <?php php_uname('s') == PHP_OS; php_version() == PHP_VERSION; php_sapi_name() == PHP_SAPI; ?> 虽然使用不多,但是效率提升大概在 3500% 左右。[size=+2] 最快的 Win32 检查 QUOTE: // PHP CODE Highliting for CU by dZ902 <?php $is_win = DIRECTORY_SEPARATOR == '\\'; ?> - 不用函数- Win98/NT/2000/XP/Vista/Longhorn/Shorthorn/Whistler... 通用- 一直可用[size=+2] 时间问题(PHP> ONLY) 你如何在你的软件中得知现在的时间?简单,「 time() time() again, you ask me... 」。不过总归会调用函数,慢。现在好了,用$_SERVER['REQUEST_TIME'] ,不用调用函数,又省了。[size=+2] 加速 PCRE - 对于不用保存的结果,不用() ,一律用(?:) 这样 PHP 不用为符合的内容分配内存,省。效率提升 15% 左右。- 能不用正则,就不用正则,在分析的时候仔细阅读手册「字符串函数」部分。有没有你漏掉的好用的函数? 例如: strpbrk() strncasecmp() strpos()/strrpos()/stripos()/strripos() [size=+2] 加速 strtr 如果需要转换的全是单个字符的时候,用字符串而不是数组来做 strtr : QUOTE: // PHP CODE Highliting for CU by dZ902 <?php $addr = strtr($addr, "abcd", "efgh"); // good $addr = strtr($addr, array('a' => 'e', // ... )); // bad ?> 效率提升: 10 倍。[size=+2] 不要做无谓的替换即使没有替换, str_replace 也会为其参数分配内存。很慢!解决办法: -用 strpos

最近更新

2024年交流会邀请函4篇 4页

2024年五年级暑假日记(集合15篇) 15页

2024年五年级作文大全 6页

2024年五四先进班集体事迹材料(精选11篇) 30页

2024年五一放假的保证书 4页

健康市公开课获奖教案省名师优质课赛课一等奖.. 4页

体育市公开课获奖教案省名师优质课赛课一等奖.. 5页

2024年二年级的日记9篇 7页

仿铜浮雕画市公开课获奖教案省名师优质课赛课.. 5页

2024年二年级少先队辅导员工作总结(精选20篇.. 56页

人教版气候市公开课获奖教案省名师优质课赛课.. 6页

人教七年级生物市公开课获奖教案省名师优质课.. 5页

2024年事业单位邀请函 7页

二年级班队市公开课获奖教案省名师优质课赛课.. 7页

乡愁席慕容市公开课获奖教案省名师优质课赛课.. 5页

中班方块大战市公开课获奖教案省名师优质课赛.. 3页

下雨啦的市公开课获奖教案省名师优质课赛课一.. 5页

三年级品德上册市公开课获奖教案省名师优质课.. 3页

七星瓢虫中班市公开课获奖教案省名师优质课赛.. 5页

一年级语文园地六市公开课获奖教案省名师优质.. 5页

一位小跳市公开课获奖教案省名师优质课赛课一.. 5页

《画故事》的市公开课获奖教案省名师优质课赛.. 4页

《小白菜》市公开课获奖教案省名师优质课赛课.. 4页

农村住房补贴申请书 2页

矿山地质工作在矿山生产过程中的作用 6页

渗滤液(初级)试题(共35页) 35页

最新封顶仪式讲话稿(讲话稿范文) 5页

糖尿病专科护理门诊 19页

铁路集装箱运输安全管理方法探讨 75页

创业与创新管理ppt课件 83页