大数跨境

PHP 9.0 早期预览、JavaScript 调试 ID、A2A 等

PHP 9.0 早期预览、JavaScript 调试 ID、A2A 等 索引目录
2025-04-14
0
导读:抢先了解 PHP 9.0 的新特性和变化好吧,我们来谈谈 PHP 9.0!

抢先了解 PHP 9.0 的新特性和变化

好吧,我们来谈谈 PHP 9.0!它还没有发布,但它正在成为一个重大的清理版本,专注于使 PHP 更加可预测、更合乎逻辑、更方便开发人员。让我来为你分解一下。

首先, 增量和减量的行为 将进行重大改进。你知道如果尝试类似 的操作会发生什么奇怪的事情 'a9'++吗?在 PHP 9.0 中,这类代码会抛出 TypeError,迫使你编写更简洁、更规范的代码。此外,像 true、 false、 null或空字符串这样的值将不再被默默地转换或递增。这一切都是为了消除那些令人困惑的边缘情况。

接下来, 错误处理 将变得更加智能。目前,如果 unserialize() 失败,您只会收到警告——这很容易被忽略。但 PHP 9.0 将引入一个合适的 UnserializationFailedException,使捕获和调试问题变得更加容易。

现在我们来谈谈 函数签名。有些函数,例如 array_keys(),可能会拆分成更具体的版本,以使其用途更清晰。这都是为了提高开发人员的可读性和可维护性。

另一个重大变化是 数组行为。PHP 过去允许你使用诸如 之类的对象创建数组 false, foreach(false as $x) 这样就不会崩溃。但在 PHP 9.0 中,这种情况将不再允许。少一些魔法,多一些逻辑!

现在介绍 字符串插值,它也得到了简化。目前,PHP 支持通过多种方式将变量插入字符串:

  • 直接的: "$foo"

  • 外侧牙套: "{$foo}"

  • 美元符号后的括号: "${foo}"

  • 可变变量: "${expr}"

在 PHP 9.0 中,选项 1 和 2 将继续保留,因为它们简单易用。但选项 3 和 4 将被移除,因为它们容易混淆且不太实用。

最后, 变量处理 也变得更加严格。目前,使用未定义的变量只会引发警告,但 PHP 9.0 会将其转换为致命错误。告别“虽然有效,但实际上并非如此”的困境!

那么,这其中的要点是什么呢?PHP 9.0 的重点在于清理语言——摒弃怪异之处和遗留行为,同时鼓励开发者编写现代、简洁的代码。它并没有添加华而不实的新功能,而是进行了精简,以提供更流畅的体验。

你觉得怎么样?你对这些变化感到兴奋吗?还是觉得它们早就该发生了?快来告诉我吧!“PHP 依然活着!”


重要功能:自动建立关系

告别仅为了在 Laravel 中加载关系而编写额外代码的烦恼!

Laravel 12.8 引入了一项颠覆性的功能:自动预加载——目前处于Beta 阶段,以收集社区反馈。正如 Taylor Otwell 所提到的,即使在补丁版本中,此功能的行为和功能仍可能发生变化。

有什么新鲜事?

使用新automaticallyEagerLoadRelationships()方法,Laravel 将在您访问关系时自动“及时”加载关系 - 无需手动with()load()调用。

这可以消除Laravel 生态系统中绝大多数意外的N+1 查询问题。

工作原理

只需选择加入,检索您的模型,然后开始处理关系。Laravel 会处理剩下的事情。

把它想象成一条链:

  • 你有一个order

  • 该命令有一个client

  • 客户有一个owner

  • 店主在 工作company

您可以访问$order->client->owner->company- Laravel 会自动加载所有内容,无需额外设置。

很酷吧?

️此版本中的其他实用更新:

  • fromJson()用于集合
    快速将 JSON 字符串转换为 Laravel 集合 - 非常适合 API 响应。

  • 软删除改进
    增强对大规模修剪和清理操作的支持。

  • 性能调整
    更新模式语法和查询处理以提高可靠性。

此版本有助于减少样板代码并提升性能。如果您正在处理大型数据集,请注意内存使用情况。

祝您使用 Laravel 12.8 编码愉快!


宣布推出 Agent2Agent 协议 (A2A)

本周,谷歌爆出一枚重磅炸弹,名为 A2A,即代理间通信。想象一下,来自不同平台的 AI 代理像队友一样聊天。一个负责编写代码,另一个负责审核,第三个负责部署。作为一名软件工程师,你会怎么做?你正喝着咖啡,琢磨着你的工作是不是就是给这些机器人命名——比如说,你给两个代理分别命名为 Puncoz 代理和 Bijaya 代理!

Agent to Agent 是一个开源协议,世界各地的开发者都可以加入。像 Salesforce、PayPal 和 MongoDB 这样的巨头(超过 50 家)已经加入了。你的梦想是什么?AI 代理可以跨应用和系统运行,零摩擦,自动化运行。代码仓库就在 GitHub 上,想看就来!

你认为这会是协作式人工智能的未来吗?希望人工智能代理们不要因为提交而争吵不休!


【声明】内容源于网络
0
0
索引目录
索引目录是一家专注于医疗、技术开发、物联网应用等领域的创新型公司。我们致力于为客户提供高质量的服务和解决方案,推动技术与行业发展。
内容 444
粉丝 0
索引目录 索引目录是一家专注于医疗、技术开发、物联网应用等领域的创新型公司。我们致力于为客户提供高质量的服务和解决方案,推动技术与行业发展。
总阅读12
粉丝0
内容444