主页 > PHP教程 > 正文

在 PHP 7 中不要做的 10 件事

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 尖端开发者都懂得许多其它编程言语,这并非偶尔。


上一篇:PHP模仿登陆抓取页面内容
下一篇:PHP怎么经过CURL上传文件

PythonTab微信大众号:

Python技能交流合作群 ( 请勿加多个群 ):

群1: 87464755

群2: 333646237

群3: 318130924

群4: 385100854