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)
评论()
收藏
举报