位置: 编程技术 - 正文

注意!PHP 7中不要做的10件事

编辑:rootadmin

推荐整理分享注意!PHP 7中不要做的10件事,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

切记,在PHP 7中不要做的件事

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实际上会获取所有元数据并缓存它们。后续的调用使用这些缓存数据,没有数据库的调用。

注意!PHP 7中不要做的10件事

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

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

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

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

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

7. 不要信任用户输入

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

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

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

8. 不要故作聪明

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

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

9. 不要重新发明轮子

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

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

. 不要忽略其它语言

如果你是个 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 7中不要做的10件事

本文链接地址:https://www.jiuchutong.com/biancheng/301901.html 转载请保留说明!

上一篇:深入理解PHP类的自动载入机制(深入理解php类的知识)

下一篇:php微信公众账号开发之前五个坑(一)(php微信公众账号是什么)

  • 外部奖励与内部奖励
  • 桥闸通行费怎么做账务处理
  • 纳税人对所提交信息的什么负责
  • 劳务外包人员算不算从业人员
  • 工业企业开票税率
  • 其他应收款如何清理
  • 子公司是长期股权投资吗
  • 公司改名之前发工资吗
  • 已交的增值税能计入费用吗
  • 本期进项税大于销项税
  • 个人工资薪金所得税怎么查
  • 公司投资的股权财产怎么认定
  • 出口产品报关单上保险费与实际不符可以丿退税吗
  • 保障房异地建设费缴纳契税吗?
  • 转贴现视为贷款银行如何进行账务处理?
  • 小规模纳税人开专票和普票的区别
  • 城建税及教育费附加计提表
  • 税控系统技术维护费
  • 进口材料怎么做账
  • 防伪税控开具发票明细表
  • 小规模企业申报表填写
  • 软件开发公司研发主管绩效考核
  • 小规模纳税人进项税额怎么算
  • 实收资本怎样入账
  • gitlab lint
  • windows安全警报关不掉
  • 文件过滤什么意思
  • 员工 意外保险
  • 保总保安服务有限公司
  • 企业职工工伤赔偿标准税前扣除
  • 高新技术产业研究院有限公司
  • php实战
  • php零基础教程
  • 南奥索峰的Lac d'Ayous小屋,法国 (© Eneko Aldaz/Offset by Shutterstock)
  • 实例讲解YII2中多表关联的使用方法
  • php include和include_once
  • 冲账怎么写?
  • sortable js
  • Vue3入门笔记----登录功能
  • pgrep命令作用及含义
  • discuz论坛安装步骤
  • 购买员工宿舍用品报销
  • python2打包
  • 企业基本户是对公账户吗
  • 劳务公司开发票劳务公司如何转取收入?
  • mysql5.7.27安装与配置
  • 研发费用的范围包括哪些
  • 税金及附加减半征收金额按哪个
  • 手工账做账流程总结
  • 股票质押式回购交易是什么意思
  • 企业账户里的政府账户
  • 航信服务费减免怎么填
  • 银行收的账户管理费
  • 汇算清缴水电费没有发票填在哪里
  • 费用发票可以不抵扣进项税吗
  • 应收账款占比高受哪些因素影响
  • 记账凭证如何填写样本
  • 执行企业会计准则的非上市企业
  • 总账会计的岗位目的
  • 净资产收益率怎么算出来的
  • 微软员工工资
  • windows server 2016 百度网盘下载
  • 苹果电脑使用u盾怎么用
  • Win7 64位系统没有超级终端软件的解决方法
  • win8电脑背景变成黑色的了是为什么
  • win10右键菜单不显示
  • 非常好的成语
  • python 聚类算法包
  • nodejs示例
  • Unity3D游戏开发毕业论文
  • 安卓表格布局案例
  • 国税税控开票系统
  • 对外支付佣金需要代扣代缴印花税吗
  • 收到税务局税收返还
  • 货物无偿赠予政府怎么写
  • 如何认真贯彻落实中央八项规定,切实改进工作作风
  • 新疆税务干部学校招聘
  • 合肥报税网站
  • 交叉互查的作用和意义
  • 安徽省电子税务局app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设