php代码优化以及开发中的小技巧(持续补充)
一、前言
这篇文章是博主平时记的小笔记,记录的是平时开发没有注意到的细节,或者在写代码的时候可以优化的部分。有相当一部分bug都是开发中不够严谨造成的,所以大家共勉。提升代码质量,快乐撸码!
二、正文
1、 代码的公用部分尽量不要改动,除非是所有的项目都需要添加某些新功能
2、 对于自定义的数组,对象等不同文件,要按照已有的文件分开。不要把对象定义到数组文件,数组定义到对象文件,方便调试和代码优化
3、 对于一些不必要的操作,无需发请求。比如我们的拖动排序事件。应该确保当顺序改变的时候再发送http请求。仅仅是拖动但没有改变位置的,不需要发送请求。这样在用户访问量比较多的情况下,不会有太大的访问压力
4、 构造函数要用起来。通用的变量,或者需要实例化的数据库部分都可以放里面。这样在脚本的其他地方使用很方便
5、 控制器中的方法名命名要更贴近实际功能,方便查看维护。
6、 不要为了方便,有些表单只在前端验证,而不去后端验证。因为用户可以通过禁用JS等方法,跳过你的前端验证,那么这个时候我们就无法保证系统的安全性,所以后端验证必不能少。在用户体验不是很重要的项目,系统的安全性更加重要。
举例: 用户修改密码,验证旧密码部分,如果只是前端通过JS验证,提交后的代码不加验证的话,用户可能会避过JS,从而直接修改密码,保证不了安全性
7、 比如我们在开发的时候,需要用到变量a。
if(xx){ a=1; }else{a=2};
$b = a + 1;
类似于这种的,变量a没有预先定义,所以会成为notice错误。如果此时我们的服务器的错误级别是notice
都会报错的话,那么这部分就会成为bug。此时此刻再说“在我本地没问题啊”这种话将毫无意义,所以最好是在写程序的时候,就对自己严谨一些。
8、 关于代码兼容性。
在php 5.4下,可以正常使用可变变量,类似于:
$a = 'php';
$$a = '我是PHP';
echo $php;// 输出:我是PHP
这段代码在php5.4
下是可以的,但是在php 7.0
下会报错:Array to string conversion
。
这是因为php 5.4把($$a)中的$a当做一个整体,先解析$a = php ,然后通过第一个`$`符号,转化为( $$a == $php = 我是PHP )。但是在 php7.0,代码的严格性得到提升,此处必须使用 ${$a} 来区分解析的优先级,加个花括号标出来后面的变量,类似于咱们小学时候的加减乘除的优先级问题。
php文档地址: http://www.php.net/manual/zh/language.variables.variable.php
9、关于SVN或者git提交
代码在提交的时候,如果涉及到代码的重构,修复bug,优化等功能,那么最好是分多次提交。比如代码重构单独提交一次,修复Bug或者优化都单独提交一次。不要害怕提交的次数太多之类的,我们分的越细,等到出问题的时候,不管是直接定位问题所在还是回滚版本都会好操作很多。这也算是开发技巧之一吧。
写一次博客也是重新看一遍记录的这些问题。愿以后的代码可以少出bug,哈哈。共勉!
end
上一篇: 回顾2013:云计算的夏天
下一篇: CSS3之圆角边框