查看: 45|回复: 1

PHP十大忌(上)

[复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式
PHP十大忌(上)
在我新入行php大军的时候,总因为一些不知道的事情而被前辈们骂的狗血喷头,后来又经过一些惨痛的教训才深刻的意识到其中的关键,我不知道你是不是也遇到过类似的事情,总之这些不必要的麻烦还是能避免就避免吧(兄/弟连www。itxdl,cn),现在我将我总结的几条PHP编写中的几条禁忌问题写出来供给大家参考一下,省的有一天你被骂了还不知道是因为什么,有则改之无则加勉吧。

1.不要使用mysql_函数
这一天终于来了,从此你不仅仅“不应该”使用mysql_函数。PHP7已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的PDO实现。
2.不要编写垃圾代码
这一条可能易于理解,但是会变得越来越重要,因为PHP7的速度提升可能会隐藏你的一些问题。不要仅仅满足于你的站点速度,因为迁移到PHP7才让它变快。
为了理解速度有多重要,以及如何把事情做得更好,请看一看我们的文章速度优化入门指南。
作为一名开发者,你应该总是确保按需加载脚本,尽可能连接它们,编写高效的数据库查询,尽可能使用缓存,以及其它。
3.不要在文件末尾使用PHP闭合标签
你可以看一看,当一个文件以PHP代码结尾时,WordPress多数核心代码都把末尾的PHP标签去掉了。实际上,Zend框架特别禁止了它。PHP并不需要文件末尾的闭合标签,并且我们可以通过去掉它来保证不会在后面添加任何的空白字符。
4.不要做不必要的引用传递
我个人不喜欢引用传递。我知道有时候它很实用,但是其它情况下它使代码变得难懂,并且更难预测结果。
据说一些人认为它使代码运行更快,但是根据一些PHP高级程序员所说,这并不正确。
说明引用为什么不好的一个例子是,PHP内建了shuffle()和sort()。它们修改原始数组,而不是返回处理后的数组,这很不合逻辑。
5.不要在循环中执行查询
在循环中执行查询非常浪费。它给你的系统施加不必要的压力,并且可能能够在循环外部更快获得相同结果。当我遇到需要这样的情况时,我通常会使用两个分离的查询来解决问题,我会使用它们来构建数据数组。之后我会遍历数组,并不需要在这个过程中执行查询。
由于WordPress适用于这里,它可能有一些例外。虽然get_post_meta()会从数据库获取大量数据,如果你正在遍历某个特殊博文的元数据你可以在循环中使用它。这是因为当你第一次调用它的时候,WordPress实际上会获取所有元数据并缓存它们。后续的调用使用这些缓存数据,没有数据库的调用。
弄懂这些的最佳方式是阅读函数文档,以及使用类似QueryMonitor的工具。
6.不要在SQL查询中使用*
当然,这个更像MySQL的问题,但是我们习惯在PHP中编写SQL代码,所以都差不多。无论如何,如果可以避免的话,不要在SQL查询里使用通配符,尤其是数据库有很多列的时候。
你应该明确指定需要哪些行,并且仅仅获取它们。这有助于减少所用资源,保护数据,以及让事情变得尽可能清晰。
对于SQL,你需要了解所有可用的函数,并且尽可能测试其速度。在计算均值、求和或计算类似数值时,要使用SQL函数而不是PHP函数。如果你不确定某个查询的速度,测试它并且尝试一些其它的编译—之后使用最好的那个。未完待续

文章字数过多所以认为的分为了上下两个部分,请大家搜索下篇继续浏览。问题是客观存在的,通过阅读本文希望可以减少你一些不必要的麻烦,当然为了你能够避免这些问题我还是希望你浏览下去的。有些问题我还总是记不住,长时间的php工作中我也感觉自己知识的不牢固,我已经准备去兄/弟连IT教育去深造一下了[电-话;177—1011—6169],我身边也有打算入行的朋友也是准备去兄/弟连接受学习,因为我们在通过对几家培训机构的比较之后,感觉还是兄/弟连比较好,所以说出来供你参考一下。



点评

海`外直播网址 t.cn/RxlBL8F 禁闻视频 t.cn/Rxl1r5S 赵国,外交停留在声明层面,经济停留在印钞层面,社会停留在江湖层面,文化停留在献媚层面,思想停留在愚民层面,科技停留在山寨层面,内政停留在打压层面.外面没一个   发表于 前天 15:56
ChinaGDG.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2016 Comsenz Inc. All Rights Reserved. By Discuz! X3.2( 京ICP备05046727号-2 ) 本网站内容由华清远见维护,网站言论不代表谷歌官方。

扫描二维码关注我: week design 周末设计
确 认
快速回复 返回顶部 返回列表