看看 PHP 8.4 的新功能
2024 年 5 月 17 日
PHP 8.4 即将推出,在这篇文章中,让我们看看到目前为止已发布的内容以及您可能期望的新功能。
PHP 8.4 计划何时发布?
PHP 8.4 计划于 2024 年 11 月 21 日发布。在发布之前,它将经历 6 个月的预发布阶段,从 Alphas、Betas、Release Candidates,然后正式发布。
PHP 属性挂钩
属性挂钩受到 Kotlin、C# 和 Swift 等语言的启发,其语法包括两种类似于短闭包和多行闭包的语法变体:
class User implements Named
{
private bool $isModified = false;
public function __construct(
private string $first,
private string $last
) {}
public string $fullName {
// Override the "read" action with arbitrary logic.
get => $this->first . " " . $this->last;
// Override the "write" action with arbitrary logic.
set {
[$this->first, $this->last] = explode(' ', $value, 2);
$this->isModified = true;
}
}
}
属性挂钩将有助于删除属性 getter 和 setter 的样板文件,从而允许属性使用挂钩定义访问和更新。
查看我们的帖子了解更多详情: PHP 8.4 中的属性挂钩 。
new MyClass()->method() 不带括号
由于引入了实例化期间的成员访问,因此您必须包装
new MyClass()
在括号中调用,否则会出现解析错误。建议的语法将允许您访问常量、属性和方法,而无需额外的括号:
// Wrapping parentheses are required to access class members
$request = (new Request())->withMethod('GET')->withUri('/hello-world');
// PHP Parse error (<= PHP 8.3): syntax error, unexpected token "->"
$request = new Request()->withMethod('GET')->withUri('/hello-world');
此更新修复了剪纸问题,使类成员访问的处理更加简单,无需添加括号或使用静态构造函数。此语法更改还使 PHP 与其他不需要括号的 C 语言(例如 Java、C# 和 TypeScript)更加一致。
查看我们的帖子了解更多详情: PHP 8.4 中没有额外括号的类实例化 。
了解更多
您可以按照 PHP 8.4 准备任务 星期 。
帖子 看看 PHP 8.4 的新功能 首先出现在 Laravel 新闻 。
加入 Laravel 时事通讯 直接在您的收件箱中获取所有此类最新的 Laravel 文章。