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

news2025/7/8 9:12:54

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

目录

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废弃的特性和扩展

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实验28:步进电机实验

OK,我是走程序猿的道路 我的blog侧重点在讲解代码 本实验结果: 步进电机正转 步进电机反转 步进电机工作原理我就不去讨论了 重点在于代码分析和讲解 01 硬件电路设计 硬件电路总图 接口: 步进电机驱动器板和Arduino Uno板之间的接线: 步进电机驱动器 Arduino Uno…

opencv之 drawContours() 函数说明应用

drawContours 之前使用mask图还进行了连通域有无status分析&#xff0c;然后才进行的绘制。 今天发现直接使用mask图进行绘制&#xff0c;然后通过设置drawContours的参数可以进行不同层次上缺陷的绘制&#xff0c;然后通过这个事情也说明&#xff0c;有问题可以直接找opencv官…

“综合”web项目编写------手把手0基础教学(一)

我们平常看到的项目代码一般都是分段单独的功能&#xff0c;但如何将功能汇总成一个完整的项目呢&#xff0c;下面我将利用IDEA来介绍一个基础的综合web项目 目录 一.创建项目 二.为项目建包 1.了解构建项目的思路 &#xff08;1&#xff09;构建模型&#xff08;模型包括数…

集线器与交换机、虚拟局域网(3.3)

集线器与交换机 传输门&#xff1a;b站湖科大教书匠 集线器 使用集线器的以太网或者局域网其实本质还是一个总线网 工作方式 集线器只工作在物理层&#xff0c;每个接口仅仅用来转发比特&#xff0c;不进行碰撞检测&#xff08;不使用CSMA/CD协议&#xff09;&#xff0c;由…

如何自定义代码生成器(上)

1 概述 1.1 介绍 ​ 在项目开发过程中&#xff0c;有很多业务模块的代码是具有一定规律性的&#xff0c;例如controller控制器、service接口、service实现类、mapper接口、model实体类等等&#xff0c;这部分代码可以使用代码生成器生成&#xff0c;我们就可以将更多的时间放…

深度学习中激活函数的用途

深度学习中激活函数的概念 激活函数&#xff0c;即Activation Function,有时候也称作激励函数。它是为了解决线性不可分的问题引出的。但是也不是说线性可分就不能用激活函数&#xff0c;也是可以的。它的目的是为了使数据更好的展现出我们想要的效果。激活函数是一种非线性的…

SAP UI5 SmartTable 控件本地运行时进行 Excel 导出的单步调试

点击 SmartTable 控件生成的表格控件的 Export to Excel 时&#xff0c;遇到如下错误消息&#xff1a; The following error has occurred during export: Unexpected server response: SmartTable 基于的是 OData V4 的模型了&#xff1a; Excel export 操作&#xff0c;触发的…

接口(上)

&#x1f437;1.接口的概念 &#x1f431;‍&#x1f680;2.接口的语法规则 &#x1f49a;3.接口的使用 &#x1f680;4.接口的特性 &#x1f386;5.实现多个接口 &#x1f436;6.接口间的继承 &#x1f38a;7.接口使用的实例 1.什么是接口呢&#xff1f;&#xff1f;&a…

【https】lighttpd增加https支持及openssl生成CA(Certificate Authority)和使用CA来制作签名证书操作说明

环境说明 ubuntu18.04.1、openssl指令需要支持 openssl生成CA&#xff08;Certificate Authority&#xff09; 生成RSA Private Key openssl genrsa -out ca.key 输出信息 $ openssl genrsa -out ca.key Generating RSA private key, 2048 bit long modulus (2 primes) ...…

Scala008--Scala中的数据结构【集合】

目录 一&#xff0c;概述 二&#xff0c;set的声明 1,不可变set集合 1)向不可变集合中添加元素 【需要新的set集合接收】 2&#xff09;对两个set集合进行合并 【需要新的set集合接收】 2&#xff0c;不可变的HashSet集合 2&#xff0c;可变HashSet集合 1&…

http-only原理与防御XSS实践

目录预备知识XSS攻击实验目的实验环境实验步骤一触发XSS漏洞实验步骤二引入Http-only实验步骤三验证http–only在防御XSS攻击时的作用预备知识 XSS攻击 http-only的设计主要是用来防御XSS攻击&#xff0c;所以学习本实验的读者应首先了解XSS攻击的相关原理内容。 跨站点脚本攻…

Vue 2 如何添加 register-service-worker 以实现缓存请求的目的

Vue 2 如何添加 register-service-worker 以实现缓存请求的目的 一、问题描述 现在 vue 3 的模板中是自带 register-service-worker 的。 用这个的好处是&#xff0c;它会自动将项目中的所有文件请求缓存到 service-worker 中&#xff0c;以实现再次打开网站的时候会非常非常…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java校园二手物品交易系统051x4

做毕业设计一定要选好题目。毕设想简单&#xff0c;其实很简单。这里给几点建议&#xff1a; 1&#xff1a;首先&#xff0c;学会收集整理&#xff0c;年年专业都一样&#xff0c;岁岁毕业人不同。很多人在做毕业设计的时候&#xff0c;都犯了一个错误&#xff0c;那就是不借鉴…

HTB-Tier1

HTB-Tier1 Appointment Task 1 What does the acronym SQL stand for? ********** ***** *******e Structured Query Language Hide Answer Task 2 What is one of the most common type of SQL vulnerabilities? *** ********n sql injection Hide Answer Task …

汉字风格迁移篇----EasyFont:一个基于风格学习的系统,可以轻松构建大规模手写字体

文章目录abstract1 INTRODUCTION2 RELATED WORK3 METHOD DESCRIPTION3.1 Selecting Input Character Set3.2 Learning Font Skeleton Manifold3.2.1 Character Matching.3.2.2 Training the GP-LVM3.3 Text Segmentation3.4 Stroke Extraction3.5 Overall Style Learning3.5.1 …

UNet - 数据加载 Dataset

目录 1. 介绍 2. 数据处理 dataset 2.1 预处理 2.2 加载数据 2.2.1 初始化 2.2.2 返回数据 2.2.3 样本数量 3. 测试一下 4. 完整代码 1. 介绍 之前介绍完了Unet网络的搭建&#xff0c;接下来说一下要解决的任务。 本章介绍的是&#xff1a;数据的加载处理 下面是整…

hadoop 3.3大数据集群搭建系列1-安装hadoop

文章目录一. 软硬件配置1.1 主机配置及规划1.2 软件配置1.3 安装常用的工具二. 安装前准备2.1 设置主机名2.2 设置hosts2.3 关闭防火墙2.4 ssh免密登陆2.5 ntpdate时间同步三. 安装3.1 安装hadoop3.1.1 下载hadoop并解压3.1.2 配置hadoop_home环境变量3.1.3 编辑etc/hadoop/had…

【毕业设计】图像识别垃圾分类系统 - python 深度学习

文章目录0 前言1 简介2 识别效果3 实现3.1 数据集3.2 实现原理和方法3.3 网络结构4 最后0 前言 &#x1f525; Hi&#xff0c;大家好&#xff0c;这里是丹成学长的毕设系列文章&#xff01; &#x1f525; 对毕设有任何疑问都可以问学长哦! 这两年开始&#xff0c;各个学校对…

信息熵,交叉熵,KL散度,互信息一网打尽

talk 一直以来都是自己有时候 想去搞明白就搜搜博客看&#xff0c;模棱两可&#xff0c;记忆也比较模糊&#xff0c;这次直接较为系统的记录一下&#xff0c;之后忘了也能看看~ 1. 信息熵 这个概念是从信息论出现的&#xff0c;是香农定义的&#xff0c;根据事件发生的概率进…

excel怎么设置密码?加密文件这么做!

我们都知道&#xff0c;很多时候需要我们在电脑上保存很多excel文件。为了避免在工作中出现意外&#xff0c;我们需要在文件中设置一个安全密码。那么&#xff0c;电子表格excel怎么设置密码呢&#xff1f;如果我们设置了密码&#xff0c;想要取消原本的密码或者重新设置一个密…