极速下载站 —— 提供优质软件下载服务,感受全新的极速下载体验!

最近更新 | 软件专题 | 软件分类 | 软件排行

您的位置:极速下载站资讯首页其他资讯网络资讯 → 开发者:PHP不再是十年前那一门糟糕的言语!(2)

开发者:PHP不再是十年前那一门糟糕的言语!(2)

时间:2019-08-05 12:00:15  作者:johnnyl  浏览量:41

开发者:PHP不再是十年前那一门糟糕的言语!图3

每月包被安装数

图:PHP不再是十年前那一门糟糕的言语!

开发者:PHP不再是十年前那一门糟糕的言语!图4

PHP 在不断开展,曩昔几年中添加了许多新特性

尽管 async 与 await 这两个呼声极高的特性还没有完成,可是 PHP 这几年新特性不断出现,言语本身得到了各方面的改善。

下边列出了一些重视度比较高的 PHP 新特性:

Short closures

短闭包,也称为箭头函数,这是一种在 PHP 中编写较短函数的办法。将闭包传递给 array_map 或 array_filter 等函数时,它能够发挥极大的效果。

// A collection of Post objects $posts = [/* … */];$ids = array_map(fn($post) => $post->id,$posts);

Null coalescing operator

空合并运算符,它类似于三元运算符,但左面的操作数行为类似于 isset,而不是仅运用其布尔值。这使得此运算符对数组特别有用。它同时可在未设置变量时分配默认值。

$undefined ?\'fallback\'; //\'fallback\'$unassigned;$unassigned ?\'fallback\'; //\'fallback\'$assigned = \'foo\';$assigned ?\'fallback\'; //\'foo\'\'\' ?\'fallback\'; //\'\'\'foo\' ?\'fallback\'; //\'foo\'\'0\' ?\'fallback\'; //\'0\'0 ?\'fallback\'; //0false ?\'fallback\'; //false

Traits

Trait 是一种重用代码的机制,它能够减少单承继的某些限制。Traits 与类组合的语义界说了降低复杂性的方式,并防止了与多重承继和 Mixins 相关的典型问题。

Trait 类似于类,但仅用于以细粒度和一致的方式对函数进行分组,它是对传统承继的弥补,能够完成行为的横向组合,类成员运用不需求承继。

Typed properties

属性类型化,类变量能够界说类型,比方:

classA{publicstring$name;publicFoo$foo;}

Spread operator

扩展运算符,这是一种新语法,能够直接在调用中解压缩参数,比方:

call_user_func_array([$db,\'query\'],array_merge(array($query),$params));

直接用新语法可扩展出数组 $params:

$db->query($query,...$params);

JIT compiler:PHP 8 承认支持 JIT

JIT 是一种编译器策略,它将代码表述为一种中心状态,在运行时将其转化为依赖于体系结构的机器码,并即时履行。在 PHP 中,这意味着 JIT 将为 Zend VM 生成的指令视为中心表述,并以依赖于体系结构的机器码履行,也就是说保管代码的不再是 Zend VM,而是更为底层的 CPU。

FFI

Foreign Function Interface,外部函数接口,它允许从纯脚本言语调用 C 函数、运用 C 数据类型,从而更有效地开发“体系代码”。对于 PHP,FFI 开辟了一种运用纯 PHP 编写 PHP 扩展和绑定到 C 库的办法。

Anonymous classes

匿名类,用于创立简略的一次性对象:

setLogger(newLogger());//PHP7+code$util->setLogger(newclass{publicfunctionlog($msg){echo $msg;}});

Return type declarations

声明回来类型:

严厉形式:

Contemporary cryptography

使 Libsodium 成为中心扩展,Libsodium 是一个现代加密库,由安全专家精心选择的加密算法组成,以防止侧信道缝隙。

Generators

生成器,供给了一种简略、无样板完成迭代器的办法。

各种开发工具在曩昔几年中现已老练,而且坚持增加

最后一部分,作者剖析了当时 PHP 开发工具也在不断老练,而且坚持增加。

他以静态剖析器为例,比方 Psalm、Phan 与 PHPStan,这些工具将静态剖析 PHP 代码并陈述任何类型错误与或许存在的 bug。在某种程度上,它们供给的功能能够与 TypeScript 的相媲美,可是因为 PHP 现在不供给转化(transpile),所以不允许运用自界说语法。这意味着 PHP 开发需求依赖文档,但其实 PHP 的创造者 Rasmus Lerdorf 从前说到了向中心添加静态剖析引擎的主意。

<上一页123下一页>

相关资讯

网络资讯排行
最新网络资讯
其他资讯分类

更多常用电脑软件

更多同类软件专题