PHP新特性(三):性能优化

1)、为 unserialize() 提供过滤的特性:可以防止非法数据进行代码注入,提供了更安全的反序列化数据。

【注】所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示。unserialize()函数能够重新把字符串变回php原来的值=>序列化;

因为mysql没法存数组类型的数据,序列化之后就转变成了字符全就可以存进去了。

unserialize() 对单一的已序列化的变量进行操作,将其转换回 PHP 的值

2)、编码方面的特性

php7在国际化与字符编码支持模块中通过 intl 扩展来支持国际化 (i18n) 和本地化 (l10n) 。此扩展仅仅是对 ICU 库的基础包装,并提供了和 ICU 库类似的方法和特性。

PHP 7 通过新的 IntlChar 类暴露出 ICU 中的 Unicode 字符特性。这个类自身定义了许多静态方法用于操作多字符集的 unicode 字符

3)、引入几个 CSPRNG(伪随机数产生器) 函数

PHP 7 通过引入几个 CSPRNG(伪随机数产生器) 函数提供一种简单的机制来生成密码学上强壮的随机数。

random_bytes() - 加密生存被保护的伪随机字符串。

random_int() - 加密生存被保护的伪随机整数。

4)、异常处理

PHP程序出错后过去zend引擎会发生致命错误并终止程序运行,PHP7可以使用try/catch捕获错误。

5)、session

php7 以前,我们使用 session 前都是要先代用 session_strat() 函数来初始化的,但这个函数是没有参数可以传的,session 的配置都在 php.ini 文件中。

在 php7 后 session_start() 可以接受一个 array 作为参数, 用来覆盖 php.ini 文件中设置的会话配置选项。

6)、丢弃的特性

①、PHP 7+ 版本移除了以下扩展:

erag, mysql  mssql  Sybase_ct

 

②、PHP 7+ 版本移除了以下 SAPI:

【注】SAPI:软件中的语音技术包括两方面的内容,一个是语音识别(speech recognition) 和语音合成(speech synthesis)。这两个技术都需要语音引擎的支持。

aolserver   apache  apache_hooks  apache2filter   caudium  continuity   isapi  milter  nsapi  phttpd  pi3web  roxen  thttpd  tux   webjames

③、password_hash() 随机因子选项

函数原 salt 量不再需要由开发者提供了。函数内部默认带有 salt 能力,无需开发者提供 salt 值

 

④、capture_session_meta SSL 上下文选项

废弃了 "capture_session_meta" SSL 上下文选项。 在流资源上活动的加密相关的元数据可以通过 stream_get_meta_data() 的返回值访问。

涉及内核深层性能方面的优化,这里暂不研究。

猜你喜欢

转载自blog.csdn.net/weixin_34128914/article/details/83956853