[PHP] 从PHP 5.6.x 移植到 PHP 7.0.x新特性
从PHP 5.6.x 移植到 PHP 7.0.x 新特性:
1.标量类型声明
字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array,self,Class/interface name
2.返回值类型声明
定义参数类型和返回值类型
function test(int $a):int{}
如果不按规定传参会返回异常
3.null合并运算符
null合并运算符 (??) ,等同于三元运算符
$name=$_GET['name'] ?? "test";echo $name;
4.太空船操作符(组合比较符)
当$a小于、等于或大于$b时它分别返回-1、0或1。
$a <=> $b
5.通过 define() 定义常量数组
define('ANIMALS', ['dog','cat','bird']);
6.匿名类
某个函数参数强制类型,使用匿名类完成
interface Logger {
public function log(string $msg);
}
function test(Logger $logger){
echo $logger->log('aaa');
}
test(new Class implements Logger {
public function log(string $msg) {
return $msg;
}
});
7.Unicode codepoint 转译语法
完整的Unicode字符叫codepoint,Unicode为每种语言中的每个字符设定了统一并且唯一的二进制编码
8.为unserialize()提供过滤,提供更安全的方式解包不可靠的数据,通过白名单的方式来防止潜在的代码注入
9.预期,assert — 检查一个断言是否为 FALSE
10.Group use declarations
从同一 namespace 导入的类、函数和常量现在可以通过单个 use 语句 一次性导入了
11.生成器可以返回表达式
12.Generator delegation
13.整数除法函数 intdiv()
14.会话选项
session_start() 可以接受一个 array 作为参数, 用来覆盖 php.ini 文件中设置
15.CSPRNG Functions
random_bytes() 和 random_int() 用来产生高安全级别的随机字符串和随机整数
16.可以使用 list() 函数来展开实现了 ArrayAccess 接口的对象
17.其他特性
[PHP] 从PHP 5.6.x 移植到 PHP 7.0.x新特性的更多相关文章
- 将Asp.Net Core和corefx移植到.Net 4.0
引言 因为工作内容的原因需要兼容 XP,而 XP 最多支持到.Net Framework 4.0.因此无法享受到 .Net Core 带来的一堆很好用的库,好在无论 corefx 还是 Asp.Net ...
- tiny210移植linux内核(3.0.8)杂项
关于三星芯片nand内存分区文件: linux-3.0.8/drivers/mtd/nand/s3c_nand.c struct mtd_partition s3c_partition_info[] ...
- [PHP] 从PHP 5.6.x 移植到 PHP 7.0.x不兼容点
1.错误和异常处理 1.1 set_exception_handler()函数申明的类型 function handler($e){ var_dump($e); } set_exception_han ...
- Ubuntu16.04 ARM平台移植libcurl curl-7.63.0
libcurl是免费的轻量级的客户端网络库,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS,POP3, P ...
- [PHP] 2018年终总结
去掉敏感信息后的不完整版 ==========================================================================2018年12月29日 记 ...
- Windows Embedded Compact 7初体验
Windows Embedded Compact 7初体验 Windows Embedded Compact 7已经出来半年多了,一直没时间搞.最近它又出了Refresh的版本,电脑也换了个1T的硬盘 ...
- 愚人的linux内核2440移植札记(超曲折版)
http://blog.csdn.net/dreambegin/article/details/6904822 原来文章叫--编译内核之初体验.后来想了想,这篇文章让我体验了好多遍.不该叫这么大气的名 ...
- 我所理解的Cocos2d-x
我所理解的Cocos2d-x(完全基于Cocos2d-x3.0,深度剖析计算机图形学,OpenGL ES及游戏引擎架构,全面提升游戏开发相关知识) 秦春林 著 ISBN 978-7-121-246 ...
- 千呼万唤始出来:Apache Spark2.0正式发布
我们很荣幸地宣布,自7月26日起Databricks开始提供Apache Spark 2.0的下载,这个版本是基于社区在过去两年的经验总结而成,不但加入了用户喜爱的功能,也修复了之前的痛点. 本文总结 ...
随机推荐
- python当中的装饰器
1.装饰器 首先我们来说一下一个软件的设计原则:开闭原则,又被称为开发封闭原则,你的代码对功能的扩展是开放的,你的程序对修改源代码是封闭的.这样的软件设计思路可以更好的维护和开发. 开放:对功能扩展开 ...
- GO学习笔记 - 变量在定义时没有明确的初始化时会赋值为“零值 ”。
官方教程:https://tour.go-zh.org/basics/12 变量在定义时没有明确的初始化时会赋值为 零值 . 零值是: 数值类型为 0 , 布尔类型为 false , 字符串为 &qu ...
- Gogland配置- 去掉Go源代码中的参数提示
Gogland处于好意,在Go源代码中对每个参数提示类型,这或许方便大家处理源代码,但是我觉得对于正常阅读源代码反而造成一种负担,我决定去掉这个功能! Gogland默认配置状态,有参数提示: 下面是 ...
- java简单正则验证手机号
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Title:Tadesfza * @Description ...
- AtcoderExaWizards 2019题解
传送门 \(A\ Regular\ Triangle\) 咕咕 \(B\ Red\ or\ Blue\) 咕咕咕 \(C\ Snuke\ the\ Wizard\) 我可能脑子真的坏掉了-- 容易发现 ...
- Python3之urllib模块
简介 urllib是python的一个获取url(Uniform Resource Locators,统一资源定位符),可以用来抓取远程的数据. 常用方法 (1)urlopen urllib.requ ...
- 【ASP.NET】DataTable导出EXCEL,弹窗提示下载保存(完整代码)
//新建ASPX protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); Data ...
- mysql中权限的小知识
参考:https://www.cnblogs.com/apollo1616/articles/10294490.html mysql中user表中host列的值的意义 % 匹配所有主机 localho ...
- Python 全栈开发:day3 作业与默写
# 1.有变量name = "aleX leNb" 完成如下操作:name = 'aleX leNb'# 1)移除 name 变量对应的值两边的空格,并输出处理结果print(na ...
- mono for android生成APK出现错误fatal error in gc 解决方案
laxknight 标签: mono for android,fatal error in gc mono for android生成APK出现这个错误fatal error in gc collec ...