PHP 8.5 发布在即!新特性一览
PHP 8.5 将于本月,即 2025 年 11 月 20 日发布,其特色功能包括管道运算符、新的 URI 扩展、新的 array_first() 和 array_last() 函数等等:管道运算符对于希望将多个可调用对象链接在一起,并以原生方式从左到右传递值的 PHP 开发人员来说,管道运算符是一个令人兴奋的工具:// Using the pipe ope...
阻止 Laravel 应用的无效请求
你的 Laravel 应用被各种无效请求轰炸。它们来自各种各样的机器人程序。大多数都是在探测攻击向量。常见的攻击目标包括 /wp-admin/、login.php 或 .env 文件。大多数情况下,你的 Web 服务器只会返回 404 Not Found 错误码。但它仍然会处理请求。根据网站的受欢迎程度,你每秒可能会收到数十个甚至数百个这样的请求。在过去的一...
Tiobe 编程语言排行榜:2025 年 11 月|C# 或将首次超越 Java
十一月头条:C# 是否将首次超越 Java?直到最近,Python 的增速无人能敌。但如今 Python 似乎已进入瓶颈期。取而代之的是编程语言 C#,它正以最快的速度崛起。若 C# 能保持此势头,甚至可能成为 2025 年 TIOBE 年度编程语言。C# 如何取得如此成就?Java 与 C# 长期在相同领域展开竞争。当前看来,C# 已消除了所有不选择它而选...
使用 PHP 通过 IP 地址获取地理位置
在 Web 应用中,你是否要求访问者选择国家/地区名称、城市名称或其他与位置相关的信息?如果是,你可以使用地理位置 API 来实现同样的功能。地理位置 API 提供访问者的地理位置详细信息。此 API 使用 IP 地址获取访问者的地理位置详细信息。因此,为了追踪所有详细信息,我们需要访问者的 IP 地址。使用 IP 地址,我们可以轻松获取所有地理位置详细信息...
清理 Spring Properties 文件
在为 Spring 项目创建配置属性时,我们可能会选择将它们拆分到多个文件中。Spring 配置文件中有不同的属性是很常见的。随着时间的推移,由于属性数量众多,这些文件可能会包含大量重复内容,难以阅读。清理这些文件需要大量的手动工作。本文中,我们将介绍一个名为 Spring Properties Cleaner 的 Maven 插件,它可以帮助你整...
Laravel 12.35 的 deferred 队列驱动
Laravel 12.35添加了一个名为 deferred 的新队列驱动,旨在在 HTTP 响应返回客户端后处理队列中的任务,所有操作均在同一个 PHP 进程内完成。与依赖外部工作器的典型队列驱动(数据库、Redis、Sqs 等)不同,deferred 驱动允许你将非关键任务(例如发送电子邮件、日志记录或分析)推迟到请求完成为止。defer...
PSR-20 Clocks: PHP 中的可测试时间
想象一下。你推送了一些代码,然后砰的一声,一个不相关的单元测试在 CI 中失败了:差了一秒。你重新运行测试:砰,又失败了。再一次重新运行:终于,测试通过了。你目测了一下逻辑,发现它完全没问题,那么到底是怎么回事呢?最有可能的答案是:时间。设置 Fixture、触发模拟(不要这么做)以及运行几个断言所花费的时间,很容易将“现在 + 30 秒”的检查变成“现在 ...
Laravel 12.34 中的 Failover 队列驱动
Failover 队列驱动Laravel 12.34 引入了新的故障转移(failover)队列驱动,以提高处理作业的可靠性。它允许你按优先级定义多个队列连接。如果第一个连接失败,Laravel 会自动尝试将作业推送到下一个可用的连接。此功能在正常运行时间和作业交付至关重要的生产环境中尤为有用。Failover 队列驱动的工作原来故障转移(failover)...
PHP 8.5: Intl: 新增 IntlListFormatter 类
PHP 8.5 中的 Intl 扩展添加了一个名为 IntlListFormatter 的新类。它为列表提供了区域(locale)感知的格式化,使其成为人类可读的“和”列表、“或”列表或单位列表。新的 IntlListFormatter 类遵循与 Intl 扩展中的其他类相同的模式;它使用有效的 locale 字符串进行实例化,并使用 ICU 数据进行实际格...