详细分析PHP7与PHP5区别


Posted in PHP onJune 26, 2021

1、php标量类型和返回类型声明

#主要分为两种模式,强制性模式和严格模式
declare(strict_types=1)
#1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。

2、NULL合并运算符

$site = isset($_GET['site']) ? $_GET['site'] : 'wo';
#简写成
$site = $_GET['site'] ??'wo';

3、组合预算符

// 整型比较
print( 1 <=> 1);print(PHP_EOL);
print( 1 <=> 2);print(PHP_EOL);
print( 2 <=> 1);print(PHP_EOL);
print(PHP_EOL); // PHP_EOL 为换行符
//结果:
0
-1
1

4、常量数组

// 使用 define 函数来定义数组
define('sites', [
   'Google',
   'Jser',
   'Taobao'
]);

print(sites[1]);

5、匿名类

interface Logger { 
   public function log(string $msg); 
} 

class Application { 
   private $logger; 

   public function getLogger(): Logger { 
      return $this->logger; 
   } 

   public function setLogger(Logger $logger) { 
      $this->logger = $logger; 
   }   
} 

$app = new Application; 
// 使用 new class 创建匿名类 
$app->setLogger(new class implements Logger { 
   public function log(string $msg) { 
      print($msg); 
   } 
}); 

$app->getLogger()->log("我的第一条日志");

6、Closure::call()方法增加,意思向类绑定个匿名函数

<?php 
class A { 
    private $x = 1; 
} 

// PHP 7 之前版本定义闭包函数代码 
$getXCB = function() { 
    return $this->x; 
}; 

// 闭包函数绑定到类 A 上 
$getX = $getXCB->bindTo(new A, 'A');  

echo $getX(); 
print(PHP_EOL); 

// PHP 7+ 代码 
$getX = function() { 
    return $this->x; 
}; 
echo $getX->call(new A); 
?>

7、CSPRNG(伪随机数产生器)。

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

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

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

8、异常

PHP 7 异常用于向下兼容及增强旧的assert()函数。

9、use 语句改变

#可以导入同一个namespace下的类简写
use some\namespace\{ClassA, ClassB, ClassC as C};

10、Session 选项

//1.session_start()可以定义数组
<?php
session_start(&#91;
   'cache_limiter' => 'private',
   'read_and_close' => true,
]);
?>
//2.引入了一个新的php.ini设置(session.lazy_write),默认情况下设置为 true,意味着session数据只在发生变化时才写入。

11、PHP 7 移除的扩展

  • ereg
  • mssql
  • mysql
  • sybase_ct

为什么 PHP7 比 PHP5 性能提升了?

1、变量存储字节减小,减少内存占用,提升变量操作速度

2、改善数组结构,数组元素和hash映射表被分配在同一块内存里,降低了内存占用、提升了 cpu 缓存命中率

3、改进了函数的调用机制,通过优化参数传递的环节,减少了一些指令,提高执行效率

到此这篇关于详细分析PHP7与PHP5区别的文章就介绍到这了,更多相关PHP7与PHP5区别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
php URL编码解码函数代码
Mar 10 PHP
理解php Hash函数,增强密码安全
Feb 25 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
Feb 22 PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 PHP
php导入excel文件到mysql数据库的方法
Jan 14 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
May 13 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
Dec 07 PHP
PHP判断一个数组是另一个数组子集的方法详解
Jul 31 PHP
php-fpm添加service服务的例子
Apr 27 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 PHP
laravel添加角色和模糊搜索功能的实现代码
一文搞懂php的垃圾回收机制
PHP中strval()函数实例用法
Jun 07 #PHP
使用php的mail()函数实现发送邮件功能
PHP实现rar解压读取扩展包小结
Jun 03 #PHP
详解Laravel制作API接口
May 31 #PHP
浅谈PHP7中的一些小技巧
May 29 #PHP
You might like
PHP用mysql数据库存储session的代码
2010/03/05 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
js原型链原理看图说明
2012/07/07 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
使用python遍历指定城市的一周气温
2017/03/31 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
Python基于百度云文字识别API
2018/12/13 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
python主要用于哪些方向
2020/07/05 Python
python与idea的集成的实现
2020/11/20 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
小学教师的个人自我鉴定
2013/10/26 职场文书
大学生就业自荐书
2014/06/16 职场文书
学习礼仪心得体会
2014/09/01 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
2015年教学工作总结
2015/04/02 职场文书
食品质检员岗位职责
2015/04/08 职场文书
刑事附带民事上诉状
2015/05/23 职场文书
关于环保的宣传稿
2015/07/23 职场文书
python cv2图像质量压缩的算法示例
2021/06/04 Python
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript