加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

开发者回忆:PHP 早已不是十年前的模样

发布时间:2019-05-18 01:43:04 所属栏目:移动互联 来源:h4cd
导读:开拓者Brent宣布了一篇文章,具体先容了 2019 年的 PHP 是怎么样的。 原文地点:https://stitcher.io/blog/php-in-2019 Brent 认可 PHP 当前如故存在一些题目,好比很多焦点函数如故有纷歧致的要领署名、设置配置照旧令人狐疑,可是以他本身的开拓履素来看

Trait 相同于类,但仅用于以细粒度和同等的方法对函数举办分组,它是对传统担任的增补,可以实现举动的横向组合,类成员应用不必要担任。

  1. <?php 
  2. trait ezcReflectionReturnInfo { 
  3.     function getReturnType() { /*1*/ } 
  4.     function getReturnDescription() { /*2*/ } 
  5.  
  6. class ezcReflectionMethod extends ReflectionMethod { 
  7.     use ezcReflectionReturnInfo; 
  8.     /* ... */ 
  9.  
  10. class ezcReflectionFunction extends ReflectionFunction { 
  11.     use ezcReflectionReturnInfo; 
  12.     /* ... */ 
  13. ?> 
  • Typed properties

属性范例化,类变量可以界说范例,好比:

  1. class A 
  2.     public string $name; 
  3.      
  4.     public Foo $foo; 
  • Spread operator

扩展运算符,这是一种新语法,可以直接在挪用中解压缩参数,好比:

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

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

  1. $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

匿名类,用于建设简朴的一次性工具:

  1. <?php 
  2.  
  3. // Pre PHP 7 code 
  4. class Logger 
  5.     public function log($msg) 
  6.     { 
  7.         echo $msg; 
  8.     } 
  9.  
  10. $util->setLogger(new Logger()); 
  11.  
  12. // PHP 7+ code 
  13. $util->setLogger(new class { 
  14.     public function log($msg) 
  15.     { 
  16.         echo $msg; 
  17.     } 
  18. }); 
  • Return type declarations

声明返回范例:

  1. <?php 
  2. function sum($a, $b): float { 
  3.     return $a + $b; 
  4.  
  5. // Note that a float will be returned. 
  6. var_dump(sum(1, 2)); 
  7. ?> 

严酷模式:

  1. <?php 
  2. declare(strict_types=1); 
  3.  
  4. function sum($a, $b): int { 
  5.     return $a + $b; 
  6.  
  7. var_dump(sum(1, 2)); 
  8. var_dump(sum(1, 2.5)); 
  9. ?> 
  • Contemporary cryptography

使 Libsodium 成为焦点扩展,Libsodium 是一个当代加密库,由安详专家全心选择的加密算法构成,以停止侧信道裂痕。

  • Generators

天生器,提供了一种简朴、无样板实现迭代器的要领。

各类开拓器材在已往几年中已经成熟,而且保持增添

最后一部门,作者说明白当前 PHP 开拓器材也在不绝成熟,而且保持增添。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读