10件在PHP7中不要做的事情

1. 不要使用mysql_函数

这一天终于来了,从此你不仅仅“不应该”使用mysql_函数。PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现。

2. 不要编写垃圾代码

这一条可能易于理解,但是会变得越来越重要,因为 PHP 7 的速度提升可能会隐藏你的一些问题。不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快。

为了理解速度有多重要,以及如何把事情做得更好,请看一看我们的文章速度优化入门指南。

作为一名开发者,你应该总是确保按需加载脚本,尽可能连接它们,编写高效的数据库查询,尽可能使用缓存,以及其它。

3. 不要在文件末尾使用 PHP 闭合标签

你可以看一看,当一个文件以 PHP 代码结尾时,WordPress 多数核心代码都把末尾的 PHP 标签去掉了。实际上,Zend 框架特别禁止了它。PHP 并不需要文件末尾的闭合标签,并且我们可以通过去掉它来保证不会在后面添加任何的空白字符。

4. 不要做不必要的引用传递

我个人不喜欢引用传递。我知道有时候它很实用,但是其它情况下它使代码变得难懂,并且更难预测结果。

据说一些人认为它使代码运行更快,但是根据一些 PHP 高级程序员所说,这并不正确。

说明引用为什么不好的一个例子是,PHP 内建了shuffle()和sort()。它们修改原始数组,而不是返回处理后的数组,这很不合逻辑。

5. 不要在循环中执行查询

在循环中执行查询非常浪费。它给你的系统施加不必要的压力,并且可能能够在循环外部更快获得相同结果。当我遇到需要这样的情况时,我通常会使用两个分离的查询来解决问题,我会使用它们来构建数据数组。之后我会遍历数组,并不需要在这个过程中执行查询。

由于 WordPress 适用于这里,它可能有一些例外。虽然get_post_meta() 会从数据库获取大量数据,如果你正在遍历某个特殊博文的元数据你可以在循环中使用它。这是因为当你第一次调用它的时候,WordPress实际上会获取所有元数据并缓存它们。后续的调用使用这些缓存数据,没有数据库的调用。

弄懂这些的最佳方式是阅读函数文档,以及使用类似 Query Monitor 的工具。

6. 不要在 SQL 查询中使用*

当然,这个更像 MySQL 的问题,但是我们习惯在 PHP 中编写 SQL 代码,所以都差不多。无论如何,如果可以避免的话,不要在 SQL 查询里使用通配符,尤其是数据库有很多列的时候。

你应该明确指定需要哪些行,并且仅仅获取它们。这有助于减少所用资源,保护数据,以及让事情变得尽可能清晰。

对于 SQL,你需要了解所有可用的函数,并且尽可能测试其速度。在计算均值、求和或计算类似数值时,要使用 SQL 函数而不是 PHP 函数。如果你不确定某个查询的速度,测试它并且尝试一些其它的编译 — 之后使用最好的那个。

7. 不要信任用户输入

信任用户输入是不明智的。始终校验、过滤、转义、检查并留好退路。用户数据存在三个问题:我们开发者并没有考虑每种可能性,它通常不正确,以及它可能是蓄意破坏。

经过周密考虑的系统可以防护这些威胁。要确保使用类似filter_var()的内建函数检查适当的值,以及在处理数据库时转义(或预编译)。

WordPress 拥有一些函数来解决问题。详见文章校验、转义和过滤用户数据。

8. 不要故作聪明

你的目标应该是编写优雅的代码,来更清晰地表达你的意图。你可能能够通过将任何东西缩短为一个单词的变量,使用多层的三元逻辑,以及其它手段,从每个页面中优化 0.01 秒。但这只会给你和你周围的人产生大麻烦。

合理命名变量,为代码编写文档,优先选择清晰而不是简洁。甚至还可以更好,使用标准的面向对象代码,它本身或多或少就是文档,不需要一大堆内联数值。

9. 不要重新发明轮子

PHP 到现在为止有很长时间了,网站被造出来的时间更长。很可能无论你需要造出什么,一些人之前早就造出来了。不要害怕向他人寻求支持,Github是你的好朋友,Composer也是,Packagist也是。

从日志工具到调色工具,从性能分析器到单元测试框架,从 Mailchimp API 到 Twitter Bootstrap,每个东西都可以通过按下按键(或者敲下命令)来获取,使用它们吧!

10. 不要忽略其它语言

如果你是个 PHP 程序员,现在有个好机会去至少了解 HTML、CSS、JavaScript 和 MySQL。当你能够更好地处理这些语言时,就是重新学习 JavaScript 的时机了。JavaScript 并不是 jQuery,你应该合理地学习 JavaScript 来更高效地使用它。

我也打算向你推荐学习面向对象的 PHP,它可以节省时间,并且在代码规模更大时会变得更好。对于类似 C# 和 Java 的语言,在你了解 OOP 之后,它们也更易于理解。

通过了解包管理器、构建脚本、CoffeeScript、LESS、SASS、YAML 、脚本引擎和其它强大的工具来扩展你的知识面。我强烈向你推荐看一看其它框架,尤其是 Laravel。

当你使用它们出色完成任务时,学习 Ruby、RoR、Android、iPhone 和 Windows Phone 应用开发如何?你可能会认为这毫无意义,因为它们在你的舒适区和工作所需范围之外,但是这就是它们的意义。每种语言都有一些要学习的实用的东西,以及从没 碰到的新知识。所有 PHP 顶级开发者都懂得很多其它编程语言,这并非偶然。

时间: 2024-11-07 20:02:09

10件在PHP7中不要做的事情的相关文章

Mekefile中所做的事情

1:经过之前的分析我们知道Makefile主要做的事情有: (1):首先配置makefile make x210_sd_config 配置时实际上执行的是:./mkconfig xd_210 arm s5pc11x x210 samsung s5pc110 ./mkconfig 为一个shell脚本: xd_210 arm s5pc11x x210 samsung s5pc110为6个参数传入mkconfig脚本中: 在把"TEXT_BASE = 0xc3e00000" 写入board

10 件在 PHP 7 中不要做的事情

1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现. 2. 不要编写垃圾代码 这一条可能易于理解,但是会变得越来越重要,因为 PHP 7 的速度提升可能会隐藏你的一些问题.不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快. 为了理解速度有多重要,以及如何把事情做得更好,请看一看我们的文章速度优化入门指南. 作为一名开发者,你应

mysql中不可不做的事情

写在前面的话:总是在灾难发生后,才想起容灾的重要性:总是在吃过亏后,才记得有人提醒过 1.不在数据库做运算:cpu计算务必移至业务层2.控制单表数据量:单表记录控制在1000w3.控制列数量:字段数控制在20以内4.平衡范式与冗余:为提高效率牺牲范式设计,冗余数据5.拒绝3B:拒绝大sql,大事物,大批量 数据表设计 6.用好数值类型 tinyint(1Byte) smallint(2Byte) mediumint(3Byte) int(4Byte) bigint(8Byte) bad case

当开发者产生一个伟大的想法之后应该做的10件事

当你正和家人享受一个悠闲的午后,一个不错的想法突然出现在你的脑海里.不管它是一个 App 还是服务,或是一个新的概念.只要你把这个想法付诸实践,它就可能会成为下一个 uber,甚至会改变世界. 那接下来你应该怎么做呢?这里有一个指南,会告诉你在决定把自己这个想法实现之后应该做的事情. 1. 起一个名字 在你决定开始之后,要做的第一件事就是为你的产品起一个名字,这个名字是有多重要大家心里都很清楚,如果你并不擅长起名字,你可以通过一些工具来扩展你的思路,如 visual thesaurus, Wer

想生健康BB,备孕前必须做的10件事儿

怀孕前,未准妈妈的首要工作就是"赶走"妇科病,好怀上健康的宝宝.想要预防妇科疾病,一定要从生活的点点滴滴做起. 1.防乳腺癌--运动 乳腺癌是发生在乳房腺上皮组织的恶性肿瘤,是一种严重影响女性身心健康甚至危及生命的最常见的恶性肿痛之一.保持一定的活动量,可以有效地降低人体内引起乳腺癌细胞增长的激素水平.每天若有5个小时以上的时间来活动筋骨,你患上乳腺癌的几率就会降低31%到41%. 2.防膀胱炎--勤上厕所 膀胱炎是一种常见的尿路感染性疾病,由于女性的尿道比男性的尿道短,又接近肛门,大

高效人士睡觉前做的10件事

本文翻译自网站lifehack,原文链接http://www.lifehack.org/articles/productivity/10-things-productive-people-before-bed.html,作者为LUIGI POTENZA,译者为foruok 大部分高效能人士在日常生活中都有一些能帮助他们成功的习惯.他们明白,事业成功的关键在于自己的心理和身体健康,而这又取决于他们的睡前习惯. 这10件事,帮助那些成功人士成为社会上最能赚钱的那20%. 1.他们回顾自己的一天 史蒂

Ubutnu安装后要做的10件事

Ubutnu安装后要做的10件事 安装过很多次的Ubuntu,每次都要进行一系列的系统开发环境的配置工作,如安装jdk,配置java环境变量,安装mysql,wine QQ,安装最新的eclipse,下载一些应用软件等,但是很多博文都很零散,每次都得一个一个的找,感觉特别的麻烦,今天在这里整理一下.注意,干货来了!!! 一.首先更新系统 $ sudo apt-get update && sudo apt-get upgrade 二.安装flash player 1.首先下载flash pl

我们除了技术,还应该做的10件事情

每天是否重复着同样的事情?坐在电脑前面,不觉已经15,6个小时呢?我们在为计算机,互联网技术痴迷的同时,是不是同时也失去了很多,是否还记得清晨那纯澈的朝阳,黄昏那绚丽的晚霞,或许夕阳照射进办公室的那个转瞬,你还在办公桌前,琢磨着某一个瓶颈,缓和一下,你每天紧绷的神经吧,何必要为所谓的末尾淘汰而如老骥伏枥,合理的安排好自己的学习计划,工作计划,生活计划,毕竟人活着才是你在生命周期内的唯一真实存在. 做一做下面的10件事情吧,或许生活会更加的丰富 1.感受一下你身边久违的亲人,朋友,他们还好吗,大声

《领导梯队》:4星。企业中六个层级的领导的必知必会和必须不能做的事情。

书不错,根据许多企业的情况总结出来的,作者们有企业家的顾问经验. 总体内容是每一次晋级都是思路的转换,每一层领导都需要转换思路才能做好,每一层领导都容易犯的错误是事必躬亲. 作者列出六个层级的领导:经理.总监.事业部副总经理.事业部总经理.集团高管.CEO,并且给出每一个层级具体需要做的事情.不应该做的事情. 书中的6个层级基本上应该是在超大型公司中才能看到的.不过作者也说了,重要的是思路而不是生搬硬套. 小缺陷是英文版成书于2000年,到现在近20年了,像<基业长青>一样,书中举出的好公司比