记住,在PHP 7中不要做的10件事
1.不使用mysql_ function
这一天终于来了。从那以后,你不应该只使用mysql_ function。PHP 7已经将它们全部从核心中移除,这意味着您需要迁移到更好的mysqli _ function或更灵活的PDO实现。
2.不要写垃圾代码
这可能很容易理解,但它会变得越来越重要,因为PHP 7的速度提升可能会隐藏你的一些问题。不要只满足于网站的速度,因为迁移到PHP 7会让它更快。
为了了解速度有多重要,如何做得更好,请看看我们的文章《速度优化入门》。
作为开发人员,您应该始终确保按需加载脚本,尽可能多地连接脚本,编写高效的数据库查询,尽可能多地使用缓存,等等。
3.不要使用PHP关闭文件末尾的标签
你可以看看。当一个文件以PHP代码结尾时,大多数WordPress核心代码都会在结尾移除PHP标签。事实上,Zend框架特别禁止。PHP不需要文件末尾的结束标记,我们可以删除它,以确保后面不会添加空格字符。
4.不要进行不必要的参考传输
个人不喜欢参考传播。我知道有时这很实用,但在其他情况下,它会使代码难以理解,并使预测结果更加困难。
据说有人认为它让代码运行得更快,但据一些PHP资深程序员说,这不是真的。
引用不好的一个例子是PHP内置了shuffle()和sort()。他们修改原始数组,而不是返回处理过的数组,这是不合逻辑的。
5.不要在循环中执行查询
在循环中执行查询是浪费的。它给你的系统带来了不必要的压力,并且可能在循环外更快地得到相同的结果。当我需要这种情况时,我通常使用两个单独的查询来解决问题,我将使用它们来构建数据数组。之后,我将遍历数组,而不在过程中执行查询。
由于WordPress在这里适用,它可能有一些例外。虽然get_post_meta()将从数据库中获取大量数据,但是如果您正在遍历特定博客文章的元数据,则可以循环使用它。这是因为当你第一次调用它时,WordPress实际上获得了所有的元数据并缓存它们。后续调用使用这些缓存的数据,没有数据库调用。
理解这一点的最好方法是阅读函数文档并使用像查询监视器这样的工具。
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、安卓、iPhone和Windows Phone应用程序开发很好地完成任务时,学习它们怎么样?你可能会认为这毫无意义,因为他们超出了你的舒适区和工作所需的范围,但这就是他们的意思。每种语言都有一些实用的东西需要学习,也有一些从未遇到过的新知识。所有顶尖的PHP开发人员都知道许多其他编程语言,这绝非偶然。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。