最新资讯

更多>
  • 定性变量常见的处理方法

        对于定性变量,常见的处理方法有两种:一种是将定性变量转换为多个虚拟变量,另一种对将有序的定性变量转换为定量变量。

  • PHP7在开发中需要注意的一些地方

        PHP 7 的速度提升可能会隐藏你的一些问题。不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快。

  • win10系统关闭时间轴功能的两种操作方法

        关闭时间轴功能的两种操作方法:一、组策略方式 本方法适用于有组策略编辑器的Win10专业版/企业版/教育版。通过组策略编辑器,定位至“计算机配置 - 管理模板 - 系统 - OS策略”。然后在右侧窗口中找到“启用活动源(ActivityFeed)”配置项将配置项修改为“已禁用”应用确定就可以解决了。

  • SQL为何仍然是流行的数据库技术

        根据开发者们对各种数据库技术的使用情况来看,SQL相关技术牢牢地占据数据库技术使用比例的前几位。虽然它们是流行的,却不是最受欢迎的。

  • 使用文件系统TCFS的几个好处

        TCFS是迅雷在百万级共享计算节点的基础上,从高性能迅雷链和独创的分布式技术中积累而来,专为区块链倾力打造的数据云存储与授权分发的开放式文件系统。

PHP7在开发中需要注意的一些地方

时间: 2018-07-12 17:54:55

1.编写高效的数据库查询

PHP 7 的速度提升可能会隐藏你的一些问题。不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快。

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

2.不要使用mysql_ 函数

你不用使用mysql_函数。PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现。

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

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

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

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

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

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

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

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

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

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

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

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

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

7.使用多层的三元逻辑

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

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

8.不要信任用户输入

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

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

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

9.不要忽略其它语言

如果你是个 PHP 程序员,当你能更好的了解 HTML、CSS、JavaScript 和 MySQL时。就是重新学习 JavaScript 的时机了。JavaScript 并不是 jQuery,你应该合理地学习 JavaScript 来更高效地使用它。

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

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

10.不要重新发明轮子

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

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

版权说明| 关于ijava| 合作伙伴| 联系我们| 网站地图| 招贤纳士

Copyright © 2017 www.ijava.com All Rights Reserved 版权所有•ijava学习网 京ICP备14061482号-18         官方QQ:3325669927

ijava学习网提供免费java教程和大量java面试题库,给高级会员提供免费的java培训,同时提共一些java开发项目和java下载,java工程师,java菜鸟们快来哦。记住我们的网站:www.ijava.com