从未停止前进,PHP8.1带来了8个重要的新转变!
“php是世界上最好的语言”,它从未停止前进的步伐!PHP团队目前已经发布了PHP 8.1.0 RC 5版,而下一个版本将是第六个也是最后一个候选版本 (RC 6),将于近期发布。下面就给大家介绍一下在PHP8.1中会有哪8个重要的新转变,先一睹为快吧!
1、枚举(Enums)
enum Status { case draft; case published; case archived; public function color(): string { return match($this) { Status::draft => 'grey', Status::published => 'green', Status::archived => 'red', }; } }
2、只读属性(Readonly properties)
class PostData { public function __construct( public readonly string $title, public readonly string $author, public readonly string $body, public readonly DateTimeImmutable $createdAt, public readonly PostState $state, ) {} }
3、初始化程序中的新内容(New in initializers)
class PostStateMachine { public function __construct( private State $state = new Draft(), ) { } }
4、纤维,又名“绿线”(Fibers, a.k.a. "green threads")
$fiber = new Fiber(function (): void { $valueAfterResuming = Fiber::suspend('after suspending'); // … }); $valueAfterSuspending = $fiber->start(); $fiber->resume('after resuming');
5、数组解包也支持字符串键(Array unpacking also supports string keys)
$array1 = ["a" => 1]; $array2 = ["b" => 2]; $array = ["a" => 0, ...$array1, ...$array2]; var_dump($array); // ["a" => 1, "b" => 2]
6、一种可调用类(First class callables)
function foo(int $a, int $b) { /* … */ } $foo = foo(...); $foo(a: 1, b: 2);
7、纯交集类型(Pure intersection types)
function generateSlug(HasTitle&HasId $post) { return strtolower($post->getTitle()) . $post->getId(); }
8、新array_is_list功能(The new array_is_list function)
$list = ["a", "b", "c"]; array_is_list($list); // true $notAList = [1 => "a", 2 => "b", 3 => "c"]; array_is_list($notAList); // false $alsoNotAList = ["a" => "a", "b" => "b", "c" => "c"]; array_is_list($alsoNotAList); // false
本文系翻译,原文地址:https://stitcher.io/blog/php-81-in-8-code-blocks
上一篇:PHP 终将击败 Python?
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
来源:网友投稿 关注:
时间:2022-01-21 15:18
☉首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
相关织梦教程: