编程学习网 > PHP技术 > php高级 > PHP7的新特性和源码结构
2020
04-29

PHP7的新特性和源码结构




一、PHP7的新特性

attachments-2020-04-8pXxSrwu5ea8d85a58c06.jpg


返回值类型声明


类型声明有两种模式:

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

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


声明严格模式的语法:

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


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


attachments-2020-04-sYmRzLC95ea8d908b1365.jpg


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

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

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


attachments-2020-04-WvCLJo1B5ea8d8fde9882.jpg

二、PHP7程序的执行过程


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

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

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


attachments-2020-04-1z4xNI2D5ea8d93c5898d.jpg


三、PHP7的源码结构


attachments-2020-04-xiGvMj365ea8d9484b8d1.jpg



扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取