一、PHP7的新特性
返回值类型声明
类型声明有两种模式:
①弱类型校验模式(默认):当传入的参数不符合声明类型时,会首先尝试转换类型。
②严格类型校验模式:当传入的参数不符合声明类型时,直接报错。
声明严格模式的语法:
declare(strict_types=1); //1严格类型校验模式,0弱类型校验模式 int,float,string,bool,array,class,interface,callable array,class,interface,callable
----------以下均为PHP7+新特性----------
可空类型:在参数或返回值类型声明前面加上“?”,表示参数值或返回值要么是null,要么是声明的类型。
<?php function 函数名(?paraType ...$variable) : ?returnType { #code... }
注:参数类型和返回值类型可以不同时为可空类型,但当参数值为 null 时,则参数和返回值类型必须同时为可空类型。
二、PHP7程序的执行过程
1.PHP代码经过词法分析转换为有意义的Token;
2.Token经过语法分析生成AST(Abstract Synstract Syntax Tree,抽象语法树);
3.AST生成对应的opcode,被虚拟机执行。
三、PHP7的源码结构
来源:oschina
链接:https://my.oschina.net/u/4479011/blog/4258017