PHP7.2有哪些新特性?

我们知道php被称为“世界最好的语言“,可见人们对其是又爱又恨。我是其中一位开发者,但我对php是绝对地喜爱。我对php 了如指掌。自从php7.2发布以来,我更加喜欢这门语言。让我们看最新版本给我们带来哪些精彩。

最重要的安全

7.2版本提供了一些非常必要的安全性改进。

停止使用sha1() or md5(),请使用:

password_hash('password', PASSWORD_ARGON2I)

使用argon2i算法还支持自定义模式:

$options = [

'memory_cost' => PASSWORD_ARGON2_DEFAULT_MEMORY_COST,

'time_cost' => PASSWORD_ARGON2_DEFAULT_TIME_COST,

'threads' => PASSWORD_ARGON2_DEFAULT_THREADS,

];

password_hash('password', PASSWORD_ARGON2I, $options);

argon2算法解决了我个人的现有算法的缺点,在他们设计的最高内存填充率。

libsodium库现在正式作为PHP核心的扩展。我一直在等待这样的一段时间了。

Mcrypt被取消

mcrypt密码库扩展已正式取消。PHP的开发小组说,mcrypt大大抑制PHP语言的发展,越来越像“老软件。”

对SSL / TLS(安全套接字层/传输层安全)常数进行了改进。

改进的语言特性

还有其他的更新,用来帮助解决一些开发者关于PHP语言的改进和建议。我们一起来看看。

PHP7.2在调用count()函数时,它接收一个参数为一个标量函数,如果参数为空,或者一个对象,将返回未实现接口的警告信息。

关于对象类型声明修复的情况,以前开发者不能声明一个函数需要传递一个对象作为参数或声明一个函数应该返回一个对象。PHP7.2可以使用object作为一个参数类型和返回类型声明。

hashcontext对象将哈希扩展使用对象,而不是使用资源。

在使用对象/数组模型解决了与Zend引擎数字key转换的问题。

在以前的开发实例中,哈希数组的Key可以包含数字和字符串,而对象哈希表是整数的索引。在这种情况下,导致PHP代码找不到key。

PHP 7.2对此作了修复,数组或对象哈希表的key会自动转换为适当的类型,所以数字字符串属性名对象会成为整数数组中的key,反之亦然,解决了无法访问的性能问题。

作者:前端老白

本文来自企鹅号 - 21CTO媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端架构与工程

【译】《Understanding ECMAScript6》- 第七章-Promise

目录 异步编程 Promise基础 链式Promise 多重Promise响应 Promise继承 总结 异步操作是JavaScript最强大的功能之一。Jav...

1956
来自专栏xingoo, 一个梦想做发明家的程序员

《大话数据结构》冒泡排序错误修正

书中本意是想省略后端顺序表中无用的查找,但是忽略了一个问题。 原书中代码大意为: void bubblesort(Graph *g,int len){ ...

2188
来自专栏cloudskyme

设计模式(7)-模板(从事务处理应用的模板)

首先看一个对于数据库操作的程序: #include <iostream> using namespace std; class DataOper{ publ...

3396
来自专栏Python小白进阶之旅

Python数据类型:双端队列deque-比列表list性能更高的一种数据类型

说到容器类型,大家第一时间想到的多半是list,而list确实也能解决大部分的需要,但碰到列表内的数据量相当大的时候,性能问题就显得尤为重要;再或者列表被恶意注...

1203
来自专栏lgp20151222

@Transient 理解

transient使用小结 1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。 2)transient...

891
来自专栏java学习

Java每日一练(2017/9/14)

最新通知 ●回复"每日一练"获取以前的题目! ●【新】Android视频更新了!(回复【安卓视频】获取下载链接) ●【新】Ajax知识点视频更新了!(回复【学习...

26812
来自专栏瓜大三哥

HLS Lesson13-for循环优化:合并

#include"ap_int.h" #define DATAW 8 #define CTRLW 1 #define N 4 #define M 2 typed...

23510
来自专栏漏斗社区

CTF| 这是一个刚挖好的洞······

背景 近期在研究学习变量覆盖漏洞的问题,于是就把之前学习的和近期看到的CTF题目中有关变量覆盖的题目结合下进一步研究。 通常将可以用自定义的参数值替换原有变...

3878
来自专栏Java面试通关手册

深入理解原型模式 ——通过复制生成实例

Java面试通关手册(Java学习指南,欢迎Star,会一直完善下去,欢迎建议和指导):https://github.com/Snailclimb/Java_G...

1783
来自专栏带你撸出一手好代码

不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)

在常规的服务器端程序设计中, 比如说爬虫程序, 发送http请求的过程会使整个执行过程阻塞,直到http请求响应完成代码才会继续执行, 以php为例子 ? 当...

3305

扫码关注云+社区