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

2. 不要编写垃圾代码

这一条可能易于理解,但是会变得越来越主要,由于 PHP 7 的速率提升可能会隐蔽你的一些问题。
不要仅仅知足于你的站点速率,由于迁移到 PHP 7 才让它变快。

php去掉首尾字符在 PHP 7 中不要做的 10 件事 JavaScript

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

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

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 顶级开拓者都懂得很多其它编程措辞,这并非有时。