0
点赞
收藏
分享

微信扫一扫

在PHP 7中不要做的10事情


10 Things Not To Do In PHP 7

我已经分享了​​PHP 7的一些即将到来的功能​​,在这篇文章中,我想我会看看一些坏的模式,我们应该停止使用,因为我们切换到闪电般快速的PHP 7。

1.不要使用mysql_函数

时间终于来了,你不会被建议停止使用mysql_函数。 PHP 7将从核心中删除它们,这意味着你需要移动到更好的mysqli_函数,或者更灵活的PDO实现。

2.不要写无用的代码

这可能是一个没有脑子,但它会变得越来越重要,因为PHP 7的速度增加可能隐藏一些你的问题。不要满足于您的网站速度只是因为切换到PHP 7使它更快。

要了解速度有多重要,以及你可以做些什么来使事情更好,看看我们的速度优化文章的指南。
作为开发人员,您应该始终确保只在需要时加载脚本,在可能时连接它们,编写高效的数据库查询,在可能时使用缓存等。

3.不要使用PHP在文件结尾处关闭标记

如果你看看,当文件以PHP代码结束时,大多数核心WordPress文件省略结束PHP标记。实际上,Zend Framework特别禁止它。它不是PHP需要的,通过在文件结尾处省略它,可以确保不会添加尾随空格。

4.如果不需要就不用参考


我个人不喜欢通过参考。我理解,在某些情况下,它是有用的,但在许多其他情况,它使代码更难以理解和跟踪,特别是难以预测结果。
显然人们认为它使他们的代码更快,虽然根据尊敬的PHP程序员是不是真的。
为什么引用不好的一个例子是PHP shuffle()或sort()。而不是返回一个洗牌或排序的数组,他们修改了原来的,这是完全不合逻辑的我的心。


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

在循环中执行数据库查询只是浪费。它给你的系统带来了不必要的压力,它可能你可以在循环外更快地实现相同的结果。当我碰到一个情况,这将需要我可以通常解决这个问题与我用来构建一个数组的两个单独的查询。然后我循环遍历数组,无需在过程中执行查询。

由于WordPress的工作方式可能有一些例外。虽然get_post_meta()将从数据库中获取元值,但如果您要遍历一个特定帖子的元数据,则可以在循环中使用它。这是因为当你第一次使用它WordPress实际上检索所有的元数据和缓存它。后续调用使用缓存数据,而不是数据库调用。

解决这些问题的最好方法是读取函数文档并使用查询监视器。

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

好吧,这一个是更多的MySQL问题,但我们倾向于写我们的PHP代码在PHP,所以我说它是公平的游戏。在任何情况下,不要在SQL查询中使用通配符,如果你可以避免它们,特别是如果你有一个数据库有很多列。
指定所需的确切列,只检索这些列。这有助于最大限度地减少资源使用,保护您的数据和尽可能清楚的事情。
虽然在SQL的主题,知道你可用的功能和测试的速度尽可能多。当计算平均值,和或类似数字时,使用SQL函数而不是PHP函数。如果你不确定查询的速度,测试它,并尝试一些其他变化 - 使用最好的。

7.不信任用户输入

信任用户输入是不明智的。始终过滤,清理,转义,检查和使用回退。用户数据有三个问题:我们的开发者不考虑所有的可能性,它经常不正确,它可能是故意恶意。
一个精心设计的系统可以防止所有这些。确保使用内置函数像filter_var()在使用数据库时检查正确的值和转义和其他函数。
WordPress有一大堆功能来帮助你。有关详细信息,请参阅验证,转义和清理用户数据一文。

8.不要耍小聪明

你的目标应该是写出优雅的代码,表达你的意图最清楚。你可以通过缩短一个字母的变量,使用多层三元逻辑和其他聪明方法,但这真的没有什么比自己头疼和其他人的头痛,每个页面加载额外0.01秒。
适当地命名您的变量,记录您的代码,选择清晰度简洁。更好的是,使用标准化的面向对象的代码,或多或少地记录其自身,而不需要大量的内联注释。

9.不要重新发明车轮

PHP已经存在了很长时间,现在,网站已经更长了。有可能是,无论你需要做什么,有人在之前。不要害怕依靠别人的支持,Github是你的朋友,作曲家是你的朋友,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,Ruby on Rails,Android,iPhone,Windows Phone的应用程序开发?你会认为没有意义,因为这些不在你的舒适区和工作需要之外,但这只是一个点。每种语言都有一些有用的教学和一些额外的知识从来不会伤害。所有顶级PHP开发人员都知道很多关于其他编程语言的事情并不是偶然的!

举报

相关推荐

0 条评论