| 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 开发工具也在不断成熟,并且保持增长。 (编辑:鹰潭站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |