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 条评论
登录 后参与评论

相关文章

来自专栏QQ会员技术团队的专栏

有没有人告诉你—写时拷贝的真相

作者简介:梁少华,QQ动漫后台开发,腾讯高级工程师。从事后台开发4年多,参与过QQ秀、手Q红点系统、手Q游戏公会、QQ动漫等项目,有丰富的后台架构经验,擅长海...

22810
来自专栏IT可乐

Redis详解(三)------ redis的五大数据类型详细用法

  我们说 Redis 相对于 Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提...

660
来自专栏owent

Lua 挺好用的样子

其实对于理解Javascipt的人来说,Lua也很容易理解,因为他们太多的地方相像了。

993
来自专栏开发 & 算法杂谈

Hiredis源码阅读(一)

Hiredis库主要包含三类API:同步api、异步api以及回复解析api。首先介绍一下同步api以及回复解析api。

27211
来自专栏转载gongluck的CSDN博客

Boost asio 官方教程

7.1. 概述 本章介绍了 Boost C++ 库 Asio,它是异步输入输出的核心。 名字本身就说明了一切:Asio 意即异步输入/输出。 该库可以让 ...

4665
来自专栏磨磨谈

rbd的image对象数与能写入文件数的关系

对于这个问题,我原来的理解也是:对象默认设置的大小是4M一个,存储下去的数据,如果小于4M,就会占用一个小于4M的对象,如果超过4M,那么存储的数据就会进行拆分...

932
来自专栏猿人谷

TCP编程函数和步骤

TCP编程的服务器端一般步骤是 1、 创建一个socket,用函数socket(); 2、 设置socket属性,用函数setsockopt(); * 可选 3...

1729
来自专栏章鱼的慢慢技术路

《算法图解》第五章笔记与课后练习

1434
来自专栏河湾欢儿的专栏

Vue.js基础特性

计算属性 computed 与data,el,methods属性一样,都是vm实例的属性(选项) 理解其大致意思即可

631
来自专栏北京马哥教育

面试分享系列:从现在开始,准备加入BAT!

程序员是一项技术工种,个人的技术水平决定薪资。 程序员需要在面试的过程中展示自己的技术水平,通过有说服力的表现拿到自己理想的薪资。 面试中,面试题是招聘方对...

2996

扫码关注云+社区