首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【黄啊码】用PHP7性能居然是5.6的三倍?赶紧看看它有什么新特性-续

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

作者头像
黄啊码
发布2025-09-10 14:35:30
发布2025-09-10 14:35:30
3800
代码可运行
举报
运行总次数:0
代码可运行

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


PHP CSPRNG

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

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

举个栗子:

代码语言:javascript
代码运行次数:0
运行
复制
<?php
$bytes = random_bytes(5);
print(bin2hex($bytes));
?>

结果:6f36d48a29

代码语言:javascript
代码运行次数:0
运行
复制
<?php
print(random_int(100, 999));
print(PHP_EOL);
print(random_int(-1000, 0));
?>

执行结果:723 -64

PHP 7 use 语句

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

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

代码语言:javascript
代码运行次数:0
运行
复制
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() 函数,接收两个参数,返回值为第一个参数除于第二个参数的值并取整。

代码语言:javascript
代码运行次数:0
运行
复制
<?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, 那么会话文件会在读取完毕之后马上关闭, 因此,可以在会话数据没有变动的时候,避免不必要的文件锁。

例子:

代码语言:javascript
代码运行次数:0
运行
复制
<?php
session_start([
   'cache_limiter' => 'private',
   'read_and_close' => true,
]);
?>

PHP 7废弃的特性和扩展

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PHP CSPRNG
  • PHP 7 use 语句
  • PHP 7 错误处理
  • PHP intdiv() 函数
  • PHP 7 Session 选项
  • PHP 7废弃的特性和扩展
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档