PHP 编程技巧与优化

PHP 编程技巧与优化

  • 1、 尽量采用大量的PHP内置函数。
  • 2、 使用echo代替print,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接
  • 3、 用单引号代替双引号来包含字符串,这样做会更快一些。
  • 4、 $row['id']的效率是$row[id]的7倍。
  • 5、 在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。
  • 6、 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER['REQUEST_TIME']要好于time()
  • 7、 函数代替正则表达式完成相同功能,str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
  • 8、 尽量不要在for循环中使用函数,比如for ($x=0; $x < count($array); $x++)每循环一次都会调用count()函数。
  • 9、 Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。
  • 10、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。
  • 11、尽量使用foreach代替for/while
  • 12、读取小文件使用fread,读取大文件使用file_get_contents,特大的文件使用fseek
  • 13、在验证 email 地址时使用 checkdnsrr() 函数验证域名是否存在,这个内置函数能够确认指定的域名能够解析成 IP 地址
  • 14、使用 error_reporting(0) 函数来防止用户看到潜在的敏感错误信息。在理想情况下,发布服务器应该在 php.ini 里完全禁止。但是如果你用的是一个共享的 web 服务器的话,你没有自己的 php、ini 文件,那么这种情况下你最好的选择就是在所有脚本的第一行前加上 error_reporting(0)
  • 15、在网数据库中存储很大的字符串之前使用 gzcompress()gzuncompress() 来显式的压缩/解压字符串
  • 16、完全理解"魔术引号"和 SQL 注入的危险性,最简单的防止sql注入的方法:在php、ini中将magic_quotes设置为On,使用mysql_real_escape_string()函数转义
  • 17、不要相信用户提交的数据,一定使用htmlentities()htmlspecialchars() 先进行转义
  • 18、当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言
  • 19、并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存
  • 20、mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%




posted @ 2021-09-05 19:45  成文的博客  阅读(53)  评论(0)    收藏  举报