在sdk.cn上看到一篇文章,感觉还不错,是一篇译文。
原文链接:https://sdk.cn/news/2840 (文章标题:40+个对初学者非常有用的PHP技巧(一))
只有25个技巧,第二部分暂时没找到。目录如下:
- 1.不要使用相对路径,要定义一个根路径
- 2.不使用require,包括require_once或include_once
- 3.在应用程序中维护调试环境
- 4.通过会话传播状态消息
- 5.让函数变得灵活
- 6.省略结束的php标签,如果它是脚本中的最后一行
- 7.在一个地方收集所有输出,然后一次性输出给浏览器
- 8.当输出非HTML内容时,通过header发送正确的mime类型
- 9.为MySQL连接设置正确的字符编码
- 10.使用带有正确字符集选项的htmlentities
- 11.不要在你的应用程序中gzip输出,让apache来做
- 12.从php echo javascript代码时使用json_encode
- 13.在写入任何文件之前检查目录是否可写
- 14.改变应用程序创建的文件的权限
- 15.不要检查提交按钮值来检查表单提交
- 16.在函数中总是有相同值的地方使用静态变量
- 17.不要直接使用$ _SESSION变量
- 18.封装实用辅助函数到一个类中 (防止函数重名)
- 19.一些傻瓜式技巧
- 20. 使用array_map快速处理数组 (好函数)
- 21.使用php过滤器验证数据
- 22.强制类型检查 (并不赞同,原因见文末)
- 23.使用set_error_handler()将Php错误写入到文件 (养成记日志的习惯)
- 24.小心处理大型数组 (防止内存溢出)
- 25.在整个脚本中使用单一的数据库连接 (new过的类,记的置空)
应该是文章时间比较早的缘故,有一些用法略微过时。不过整体来说值得学习,不仅仅是初学者,很多已经工作了好长时间的人,也不见得能做到这些点。
对于第16条静态变量,鄙人认为初学者应该尽量少用,以免遇到问题。特定的情况下可以用,但要小心函数的调用。
本人对其中22条,稍有异议:
echo (int) ( (0.1+0.7) * 10 );
上面这行代码的结果? 8? no ! 结果是:7
不要将未知的分数强制转换为 integer,这样有时会导致不可预料的结果。
上面代码可以改为: $num = (0.1 + 0.7) * 10; echo (int) $num;
在进行强制类型转换的时候要慎重!大数值,高精度,分数都要慎用!在引用一段话:
PHP在7后引入了强类型,强类型的目的是为了提升PHP的解析效率,但PHP的本质定义还是弱类型语言,即便是PHP7后也并没有强制应用强类型。关于在开发过程中如何选择PHP的强类型还是弱类型,应该鉴于以下几点考虑:
1、使用强类型
①当前系统架构是否以效率高作为出发点?如果是,那么尽量使用强类型
②当前系统团队是否已经在前面使用了强类型?如果是,那么应该继续遵循使用强类型
2、不使用强类型
①只是项目迭代更新,尽量不要使用强类型
②PHP版本没有升到7以上,不要使用强类型
③考虑版本向下兼容性,不要使用强类型
总之,除非是有必要使用强类型,一般都会选择弱类型,毕竟弱类型能够让开发者更加关注业务的实现,从而实现敏捷开发。