如何才能写出高质量的PHP代码

如何才能写出高质量的PHP代码

如何才能写出高质量的PHP代码?

首先我们必须知道什么样的代码是高质量的!这样我们才能做到。那么这就要从PHP语言自身说起!

PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。——百度百科

PHP是一门怎样的语言

PHP是一门怎样的语言?根据百科的解释,它是脚本语言,也就是解析型语言,就是说PHP不会像Java或者C被编译成二进制文件,而是动态加载解析,这样效率本来就没有二进制语言执行速度快,所以它一般强调解析速度,而二进制代码强调执行速度(当然具体哪个语言效率高,不是这篇文章的主要问题)。

有的人说PHP也可以编译,也可以这样理解的,但是他所谓的编译只是将代码加密和优化,不能算真正意义上的编译,执行过程还是需要进行解析。

PHP的语法相较于C或者Java更加随意一些,当然他比Html标签语言要求更严格,只是有一些地方还是比较宽泛的,这就使得我们各人写出来的代码 千差万别,虽然执行效果一样,但是很多地方表达都不一样。那么,问题来了!到底怎样写才是质量最好的,也就是代码效率更高?

提高PHP代码质量

  • PHP中的类文件的或者配置文件,主要是引用文件,尽量不要使用后面的闭合标签

比如:

<?php
class A {
    //...
}
?>

最好写成下面的

<?php
class A {
    //...
}

尽量少使用PHP中的标签缩写,使用完整写法,以使其有更好的移植性和兼容性。

<?php     //开始标签必须完整
   //...
?>        //结束标签在引用文件中可以省略
  • 合理使用单引号和双引号的使用

对于在什么时候使用单引号,什么时候使用上引号,这个问题网上有很多答案,大家都可以参考,主要的思想是:单引号中的内容是直接输出,上引号中间的内容是要先检查转义,再输出。这样,就是说不需要转义的字符串使用了双引号就会引起执行速度慢,此时最好使用单引号。需要转义的字符串就要使用双引号包含,否则不能转义,会直接输出。

echo "Hello";      //执行速度慢,需要检查转义
echo 'Hello';      //执行速度快,不需要检查转义

$_GET["name"];     //执行速度慢,需要检查转义
$_GET['name'];     //执行速度快,不需要检查转义

arr["title"];      //执行速度慢,需要检查转义
arr['title'];      //执行速度快,不需要检查转义

下面我们来看一下需要转义的输出

file_put_content("Hello\r\n");      //输出到文件结果后换行
file_put_content('Hello\r\n');      //输出到文件的结果:Hello\r\n
  • 多使用PHP的内置函数,不要随意自定相同功能的函数。

这又是为什么呢?因为PHP的底层是C语言编写,PHP是以模块的形式加载了C语言编译好的二进制文件,这样在底层集成的内置函数的执行速度一定比PHP自定义的函数快。

  • 定义全局变量时使用global关键字,使用完成后一定要unset()掉,不至于让内存占用太大,现在的Apache已经很臃肿,占用很大内存,PHP再占用内存过大,可能导致服务器宕机。
  • 一定不能使用@屏蔽错误消息。

通过@来屏蔽错误或者警告,这是极其不规范的编码方式,对于一个有洁癖的程序猿,这是无法忍受的,当然这样的做法极其低效。而且可能会引起其他错误而不好发现和调试。

  • 尽量用函数或者算法代替正则表达,正则表达的效率远远低于PHP函数执行。
  • 对大变量或者数组最好能做到及时释放。
  • 尽量不要在for函数中定义变量,如果太大,内存可能吃不消。
  • 与数据库之间的数据交换最好交给PHP处理,然后再CURD。

好了,今天就写这么多,其实因为PHP的历史原因,编码的规范性不强,这就使得PHPer有很多不好的习惯,这些习惯应该从开始学习时就改正过来,不能图省事,今天流的汗都是当初做事时脑子进的水!所以一定要规范编码,以后到大公司,有更详细的编码规范,就像花括号在行尾还是换行都有要求,实际开发中的代码是要求极其严格的。

最后,网上还有很多关于PHP代码书写规范和提高性能的建议,大家可以好好研读一下,我上面写的主要是自己开发过程中遇到过的一些简单技巧和规范。大家可以再后面留言哪些更重要的,感觉好我会补充,谢谢大家浏览。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注