Trait 相同于类,但仅用于以细粒度和同等的方法对函数举办分组,它是对传统担任的增补,可以实现举动的横向组合,类成员应用不必要担任。
- <?php
- trait ezcReflectionReturnInfo {
- function getReturnType() { /*1*/ }
- function getReturnDescription() { /*2*/ }
- }
-
- class ezcReflectionMethod extends ReflectionMethod {
- use ezcReflectionReturnInfo;
- /* ... */
- }
-
- class ezcReflectionFunction extends ReflectionFunction {
- use ezcReflectionReturnInfo;
- /* ... */
- }
- ?>
属性范例化,类变量可以界说范例,好比:
- class A
- {
- public string $name;
-
- public Foo $foo;
- }
扩展运算符,这是一种新语法,可以直接在挪用中解压缩参数,好比:
- 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。
Foreign Function Interface,外部函数接口,它应承从纯剧本说话挪用 C 函数、行使 C 数据范例,从而更有用地开拓“体系代码”。对付 PHP,FFI 开发了一种行使纯 PHP 编写 PHP 扩展和绑定到 C 库的要领。
匿名类,用于建设简朴的一次性工具:
- <?php
-
- // Pre PHP 7 code
- class Logger
- {
- public function log($msg)
- {
- echo $msg;
- }
- }
-
- $util->setLogger(new Logger());
-
- // PHP 7+ code
- $util->setLogger(new class {
- public function log($msg)
- {
- echo $msg;
- }
- });
声明返回范例:
- <?php
- function sum($a, $b): float {
- return $a + $b;
- }
-
- // Note that a float will be returned.
- var_dump(sum(1, 2));
- ?>
严酷模式:
- <?php
- declare(strict_types=1);
-
- function sum($a, $b): int {
- return $a + $b;
- }
-
- var_dump(sum(1, 2));
- var_dump(sum(1, 2.5));
- ?>
- Contemporary cryptography
使 Libsodium 成为焦点扩展,Libsodium 是一个当代加密库,由安详专家全心选择的加密算法构成,以停止侧信道裂痕。
天生器,提供了一种简朴、无样板实现迭代器的要领。
各类开拓器材在已往几年中已经成熟,而且保持增添
最后一部门,作者说明白当前 PHP 开拓器材也在不绝成熟,而且保持增添。 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|