PHP7的新特性和源码结构

我是研究僧i 提交于 2020-04-29 15:50:36

一、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的源码结构

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!