资讯专栏INFORMATION COLUMN

PHP7新特性介绍

icyfire / 2809人阅读

摘要:本文内容根据发布时的而来,链接地址特性一览新的操作符之前的写法比较两个数的大小新增的操作符可以直接使用这种方式输出字符这个是方括号里面的问号,因为是字符,博客不支持,发布出来新增的一个函数,具体功能没有深入研究变量类型声明与之相关的一个语

本文内容根据PHP发布时的 new files 而来,链接地址 : PHP 7 new

特性一览

Added ?? operator

Added <=> operato
新的操作符

php// PHP 7之前的写法:比较两个数的大小
function order_func($a, $b) {
    return ($a < $b) ? -1 : (($a > $b) ? 1 : 0);
}
// PHP新增的操作符 <=>,perfect
function order_func($a, $b) {
    return $a <=> $b;
}

Added u{xxxxx} Unicode Codepoint Escape Syntax
可以直接使用这种方式输出unicode字符

phpecho "u{1F602}"; // outputs (这个是方括号里面的问号,因为是unicode字符,sg博客不支持,发布出来)

Added error_clear_last() function
新增的一个函数,具体功能没有深入研究

Implemented the RFC Scalar Type Decalarations v0.5. (Anthony)
变量类型声明(int, float, string , bool)
与之相关的一个语法:declare(strict_types=1);
当strict_types 设定为0,PHP会对函数参数和返回值进行严格的类型判断
需要主要的是

  

1 declare(strict_types=1); 必须放在PHP文件的第一行,此行不能包含其他内容
2 declare(strict_types=1); 只会影响文件内部,包含此声明文件的文件不会影响
3 判断一个函数或者方法是强类型判断还是弱类型判断,就看声明函数或者方法的文件,在开始的时候
是否有declare(strict_types=1);,有这一句,就是强类型
语法演示

php//声明函数返回值类型的写法和参数类型
function foobar(float $abc): int {
    return ceil($abc + 1);
}
这里声明了方法参数的类型,当调用的时候,如果不是相应的类型,会先尝试进行类型转换,然后把转换后的值传入

mplemented the RFC Group Use Declarations. (Marcio)
这个没有什么可说的,PHP use引入类更加方便整齐

php// 新语法写法

use FooLibraryBarBaz{ ClassA, ClassB, ClassC, ClassD as Fizbo };

// 以前语法的写法

use FooLibraryBarBazClassA;
use FooLibraryBarBazClassB;
use FooLibraryBarBazClassC;
use FooLibraryBarBazClassD as Fizbo;

Implemented the RFC Continue Output Buffering. (Mike)
//TODO

Implemented the RFC Constructor behaviour of internal classes. (Dan, Dmitry)
//TODO

Implemented the RFC Fix "foreach" behavior. (Dmitry)
foreach 语法的一些边界添加处理,
https://wiki.php.net/rfc/php7_foreach

Implemented the RFC Generator Delegation. (Bob)
增强了Generator的功能,这个可以实现很多先进的特性

php


Implemented the RFC Anonymous Class Support. (Joe, Nikita, Dmitry)
匿名类,这个就不具体介绍了

Implemented the RFC Context Sensitive Lexer. (Marcio Almada)
这个特性主要是PHP的面向对象特性更加友好
在class里面类属性或者方法可以使用一些关键字比如 foreach,list,for等

TODO

sorry,今天有点发烧,写不下去,以后有空继续

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20996.html

相关文章

  • PHP7特性介绍

    摘要:截止到目前为止,官方已经发布了的版本,距离发布第一个正式版本不会很远了现在来说的重大特性肯定已经是定型了,不会再有什么变动了。 截止到目前为止,PHP官方已经发布了php7的RC7版本,距离发布第一个正式版本不会很远了!现在来说php7的重大特性肯定已经是定型了,不会再有什么变动了。后续一些版本的迭代主要也就是修修bug,优化之类的。下面就来说话我们一直期待的php7会有那些主要的变化...

    klivitamJ 评论0 收藏0
  • PHP7源码分析】PHP7到底有多快,基准测试与特性分析告诉你

    摘要:我们修改上面代码,再来看下返回值类型限制的情况运行结果这段代码我们额外声明了返回值的类型为型。对函数返回值的声明做了扩充,可以定义其返回值为,无论是否开启严格模式,只要函数中有以外的其他语句都会报错。 顺风车运营研发团队 王坤 发表至21CTO公众号(https://mp.weixin.qq.com/s/ph...) showImg(https://segmentfault.c...

    Towers 评论0 收藏0
  • 【天赢金创】PHP7与Swoole

    摘要:但在密集计算方面比等静态编译语言差几十倍甚至上百倍。一使用栈内存在引擎和扩展中,经常要创建一个的变量,底层就是一个指针。代码中创建的变量也进行了优化,直接在栈内存上预分配。应用层与底层在错误抛出的方式全部统一为异常。 原文:http://rango.swoole.com/archives/440最近PHP官方终于发布了传说中的PHP7,虽然只是alpha版。PHP7号称是新一代的PHP...

    MingjunYang 评论0 收藏0
  • PHP7.1_特性

    摘要:性能优化使用栈内存在引擎和扩展中,经常要创建一个变量,底层就是一个指针。而可以直接使用栈内存作用节省一次内存分配和管理存储值,查询不需要重复计算为字符串单独创建了新类型叫做,除了指针和长度之外,增加了一个字段,用于保存字符串的值。 变量类型 PHP7版本函数的参数和返回值增加了类型限定。原因:为了PHP7.1版本JIT特性做准备,增加类型之后PHP, JIT可以准确判断变量类型,生成最...

    xiao7cn 评论0 收藏0
  • PHP7特性

    摘要:主要的变化有以下几点抽象语法树在之前的版本中,代码在语法解析阶段直接生成了指令,也就是在中直接生成指令,这使得编译器与执行器耦合在一起。 PHP7 从发布到现在已经有快三年的时间了,现在已经发展到 PHP7.2.9 版本了。它的发布给 PHP 带来了很大的性能提升,这主要是得益于 PHP 对 Zend 引擎的深度优化,同时还降低了 PHP 对系统的资源占用。 主要的变化有以下几点: 抽...

    Honwhy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<