【黄啊码】用PHP7性能居然是5.6的三倍?赶紧看看它有什么新特性-续

大家好,我是黄啊码,上节课的东西学完了吧?脑瓜子嗡嗡的吧?来,继续,让脑瓜子一次性嗡个够,压力大,才有动力。

目录

PHP CSPRNG

PHP 7 use 语句 

PHP 7 错误处理 

PHP intdiv() 函数 

PHP 7 Session 选项

PHP 7废弃的特性和扩展


PHP CSPRNG

CSPRNG:(Cryptographically Secure Pseudo-Random Number Generator,伪随机数产生器)。

  • random_bytes() - 随机生成字符串。

  • random_int() - 随机生成整数。

举个栗子:

<?php
$bytes = random_bytes(5);
print(bin2hex($bytes));
?>

结果:6f36d48a29

<?php
print(random_int(100, 999));
print(PHP_EOL);
print(random_int(-1000, 0));
?>

执行结果:723         -64

PHP 7 use 语句 

// PHP 7 之前版本需要使用多次 use

更少的代码实现同样的功能,少量不加价,灰常省时间,看板看了都感动哭了

use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

// PHP 7+ 之后版本可以使用一个 use 导入同一个 namespace 的类
use some\namespace\{ClassA, ClassB, ClassC as C};

PHP 7 错误处理 

PHP 7 改变了大多数错误的报告方式。不同于 PHP 5 的传统错误报告机制,现在大多数错误被作为 Error 异常抛出。

这种 Error 异常可以像普通异常一样被 try / catch 块所捕获。如果没有匹配的 try / catch 块, 则调用异常处理函数(由 set_exception_handler() 注册)进行处理。 如果尚未注册异常处理函数,则按照传统方式处理:被报告为一个致命错误(Fatal Error)。

Error 类并不是从 Exception 类 扩展出来的,所以用 catch (Exception $e) { ... } 这样的代码是捕获不 到 Error 的。你可以用 catch (Error $e) { ... } 这样的代码,或者通过注册异常处理函数( set_exception_handler())来捕获 Error。

Error异常层次结构图:

PHP intdiv() 函数 

 PHP 7 新增加了 intdiv() 函数,接收两个参数,返回值为第一个参数除于第二个参数的值并取整。

<?php
echo intdiv(9,3),PHP_EOL;

结果=》》》3

PHP 7 Session 选项

PHP 7 session_start() 函数可以接收一个数组作为参数,可以覆盖 php.ini 中 session 的配置项。

这个特性也引入了一个新的 php.ini 设置(session.lazy_write), 默认情况下设置为 true,意味着 session 数据只在发生变化时才写入。

除了常规的会话配置指示项, 还可以在此数组中包含 read_and_close 选项。如果将此选项的值设置为 TRUE, 那么会话文件会在读取完毕之后马上关闭, 因此,可以在会话数据没有变动的时候,避免不必要的文件锁。

例子:

<?php
session_start([
   'cache_limiter' => 'private',
   'read_and_close' => true,
]);
?>

PHP 7废弃的特性和扩展

这里就略过了,需要自己查看文档,因为废弃的一般在编程的时候都会报错,自然就知晓,记太多反而怕大家脑容量不够,哈哈哈。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄啊码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值