PHP7新增 功能

php7发布已有半月,最近有时间了解一下php7的新特性,当然,这个版本最大的特点是性能的提升。在下并非高手,欢迎大家指出错误,同时期待共同交流

1.在use语句增加了group支持
use FooLibrary\Bar\Baz\{ ClassA, ClassB, ClassC, ClassD as Fizbo };

2.增加??操作符
isset($_GET[‘mykey‘]) ? $_GET[‘mykey‘] : ""笨重
$_GET[‘mykey‘] ?: "" 当mykey不存在时会报一个E_NOTICE
$_GET[‘mykey‘] ?? ‘defaultvalue‘ 安全不会报E_NOTICE
$username = $_GET[‘user‘] ?? ‘nobody‘;

3. 64位PHP7字符串长度可以超过2^31次方字节。

4.增加Closure::call支持
Closure::call将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数,

 1 <?php
 2 class Value {
 3 protected $value;
 4
 5 public function __construct($value) {
 6 $this->value = $value;
 7 }
 8
 9 public function getValue() {
10 return $this->value;
11 }
12 }
13
14 $three = new Value(3);
15 $four = new Value(4);
16
17 $closure = function ($delta) { var_dump($this->getValue() + $delta); };
18 $closure->call($three, 4);
19 $closure->call($four, 4);
20 ?>
21 // outputs int(7),int(8)

5.双引号字符串和heredocs里面支持使用\u{xxxxx}来声明unicode字符。

6.define对数组的支持

1 define(‘ANIMALS‘, array(
2 ‘dog‘,
3 ‘cat‘,
4 ‘bird‘
5 ));
6 echo ANIMALS[1]; // outputs "cat"

7.增加比较运算符<=>
$a <=> $b
如果a等于b则为0
如果a大于b则为1
如果a小于b则为-1

8.php全局保留字可以声明使用

1 class View {
2     public function include(View $view) {
3         //...
4     }
5 }

include关键字可以当普通字符串关键字一样被使用

9.标量类型(int,float,string,bool)支持
增加declare(strict_types=1)指令声明是否严格类型校验,
当在文件头声明declare(strict_types=1)

1 <php
2
3 declare(strict_types=1);
4 function add(float $a, float $b): float {
5     return $a + $b;
6 }
7 add(1, 2); // float(3)

以上代码如果不开启declare(strict_types=1)或许declare(strict_types=0),php将自动转换参数和返回值到指定类型,
开启declare(strict_types=1),如果参数类型不是flaot或许返回类型不是float则抛出错误

10.增加接口为用户层提供安全方便的随机数生成器。RFC: https://wiki.php.net/rfc/easy_userland_csprng (后续再议)

11.增加了yield from 操作符。https://wiki.php.net/rfc/generator-delegation (后续再议)

时间: 2024-11-04 17:52:19

PHP7新增 功能的相关文章

PHP5.2至5.6的新增功能详解

截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注].因为 PHP 那"集百家之长"的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣.本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征. PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数

Netbackup 7.6新增功能和优势

  一.新增功能 1.1NetBackup Accelerator(适用于 VMware) 此功能使用 Accelerator 技术加快虚拟化备份速度,在完成增量备份期间还提供完全备份映像.借助 VMware 更改数据块跟踪 (CBT) 和 NetBackup Accelerator,仅将发生变化的数据块从客户端传输至介质服务器. ·       备份速度增加高达 35 倍,可以更好地满足服务级别协议要求而不影响恢复 ·       减少了数据传输量,因此缓解了基础架构承受的压力 1.2NetB

ADO.NET 中的新增功能

ADO.NET 中的新增功能: .NET Framework (current version) 以下是 .NET Framework 4.5 中 ADO.NET 的新增功能. SqlClient Data Provider 以下是 .NET Framework 4.5 中用于 SQL Server 的 .NET Framework 数据提供程序的新增功能: ConnectRetryCount 和 ConnectRetryInterval 连接字符串关键字 (ConnectionString)

.NET Framework 1.1、2.0、3.0、3.5、4.0各版本新增功能

一..NET Framework 1.1版本 1.ASP.NET移动控件 2.ADO.NET的改动 添加System.Data.Odbc命名空间 新增System.Data.OracleClient命名空间供Oracle使用 DataReader对象公开HasRows属性,判断是否有返回行 Connection对象具有EnlistDistributedTransaction,可以在分布式事务中启动手动登记. 3.并发执行 .NET Framework 1.1版本支持并行执行. 4..NET Fr

openstack【Kilo】汇总:包括20英文文档、各个组件新增功能及Kilo版部署

OpenStack Kilo版本发布 20英文文档OpenStack Kilo版本文档汇总:各个操作系统安装部署.配置文档.用户指南等文档 Kilo版部署 openstack[Kilo]入门 [准备篇]零:整体介绍 openstack[Kilo]入门 [准备篇]一: Ubuntu14.04远程连接(ssh安装) openstack[Kilo]入门 [准备篇]二:NTP安装 openstack[Kilo]入门 [准备篇]三:mysql(MariaDB)安装[控制节点] openstack[Kilo

hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclipse-plugin-2.5.0插件下载hadoop2.5.1汇总:最新编译 32位.64位安装.源码包.API下载及新特性等 新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍 从零教你在Linux环境下(ubuntu 12.04)如何编译hadoo

新增功能的实现

3.学生信息新增的实现 a.编写HTML网页 首先在现有的student_list.html网页中新加一个新增的按钮 并编写该按钮所对应的点击的方法,该方法是跳到新增网页上去 值得注意的是: 此处跳转绑定了一个返回路径,便于返回 b.新建一个增加的网页,网页名就是student_edit.html. 该网页head部分同样,用于导包 该网页是body部分内容则是一个form表单 <body class="easyui-layout"><div data-options

Citrix PVS 7.11新增功能

Provisioning Services  7.11中提供以下新增功能: 1.SQL Server Always On 多子网故障转移 2.PVS 支持 CIS 问题报告 3.AlwaysOn 跟踪 4.对 Windows Server 2016的支持 一.SQL Server Always On 多子网故障转移 在多子网环境中,PVS 现在支持 SQL Server Always On 故障转移.这个功能对于我们来说有什么用呢?其实这个功能的好处就是:对于大型企业环境的部署,我们可以采用这个

cloudstack4.4新增功能前瞻

cloudstack4.4.0新功能前瞻 转载请注明地址:http://blog.csdn.net/zt689/article/details/37698989 1.   cloudstack4.4.0新增功能 cloudstack4.3.0发布已经好几个月,目前cloudstack4.4.0的开发正在忙碌的进行,估计离发布也不会久远.cloudstack4.4.0新增了许多功能.翻译不够准确的地方欢迎拍砖. 1.1   支持对root磁盘卷的存储管理 root磁盘卷的主存储插件的使用. 支持的