浅谈php7的重大新特性_PHP7的新特性和源码结构

一、PHP7的新特性

24e069e0a98050cca6ea4c80a98fd74f.png

返回值类型声明

类型声明有两种模式:

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

声明严格模式的语法:

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

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

be09c85547af4aed2356c5a075d2d0a9.png

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

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

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

d81dcb1d1f71eb4a2cb8b3a86069957b.png

二、PHP7程序的执行过程

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

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

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

474a7b01f54288ec0f3f97de30594352.png

三、PHP7的源码结构

c2dbec06b033286060833a85f048d0da.png

以上内容希望帮助到大家,更多PHP大厂PDF面试文档,PHP进阶架构视频资料,PHP精彩好文可以关注公众号:PHP开源社区,或者访问:

精华PHP技术文章整理合集——PHP框架篇

精华PHP技术文合集——微服务架构篇

精华PHP技术文合集——分布式架构篇

精华PHP技术文合集——高并发场景篇

精华PHP技术文章整理合集——数据库篇

作者:呦呦鹿鸣
来源:https://www.cnblogs.com/sunshineliulu/p/11516851.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值