page contents

PHP7的新特性和源码结构

以下内容希望帮助到大家!

attachments-2020-04-EVVAnqzF5ea8ea7b98f16.jpg

一、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


attachments-2020-04-0BzFO10K5ea8d790af830.jpg

  • 发表于 2020-04-29 09:25
  • 阅读 ( 613 )
  • 分类:PHP开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1135 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1316 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章