PHP7的新特性和源码结构



一、PHP7的新特性



返回值类型声明


类型声明有两种模式:

  • 弱类型校验模式(默认):当传入的参数不符合声明类型时,会首先尝试转换类型。

  • 严格类型校验模式:当传入的参数不符合声明类型时,直接报错。


声明严格模式的语法:





declare(strict_types=1); //1严格类型校验模式,0弱类型校验模式int,float,string,bool,array,class,interface,callablearray,class,interface,callable



----------以下均为PHP7+新特性----------

 

可空类型:在参数或返回值类型声明前面加上“?”,表示参数值或返回值要么是null,要么是声明的类型。







<?phpfunction 函数名(?paraType ...$variable) : ?returnType{    #code...}


注:参数类型和返回值类型可以不同时为可空类型,但当参数值为 null 时,则参数和返回值类型必须同时为可空类型。

 


二、PHP7程序的执行过程

 

1.PHP代码经过词法分析转换为有意义的Token;

2.Token经过语法分析生成AST(Abstract Synstract Syntax Tree,抽象语法树);

3.AST生成对应的opcode,被虚拟机执行。

 



三、PHP7的源码结构

 640.jpg

评论 (0)

发表评论