25个对php初学者非常有用的php技巧

在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以上,不要使用强类型
③考虑版本向下兼容性,不要使用强类型
总之,除非是有必要使用强类型,一般都会选择弱类型,毕竟弱类型能够让开发者更加关注业务的实现,从而实现敏捷开发。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值