PHP 8.4: Curl: 新增 CURL_HTTP_VERSION_3 及 CURL_HTTP_VERSION_3ONLY 常量,以支持 HTTP/3
如果 Curl 扩展是用 HTTP/3 的必要依赖项编译的,则 PHP Curl 扩展能够发出 HTTP/3(也称为 QUIC)HTTP 请求。PHP 8.4 中的 Curl 扩展要求 libcurl 7.61.0 或更高版本。Curl HTTP/3 支持要求 libcurl 7.66.0 或更高版本。从 PHP 8.2 及更高版本开始,可以通过向 CURL...
使用 Stringable 属性简化 Laravel 模型
Laravel 的 AsStringable cast是一个强大的工具,可以显著增强在 Eloquent 模型中使用字符串属性的方式。通过将字符串属性转换为 Stringable 对象,你可以访问各种字符串操作方法,从而生成更清晰、更具表现力的代码。在模型中实现 AsStringable要使用 AsStringable cast,只需在模型的 $casts ...
PHP 的零依赖 SVG 图标库
maantje/charts 包是一个由 Jamie Schouten 开发的零依赖 SVG 图标库。它有一个直观的 API,你可以在 PHP 中直接使用来创建 SVG,而无需引入其他依赖项:use Maantje\Charts\Bar\Bar; use Maantje\Charts\Bar\Bars; use Maantje\Charts\Ch...
使用 Laravel 的 Benchmark 实用程序优化性能
在 web 开发领域,性能是关键。Laravel 提供了一个强大的 Benchmark 实用程序,允许开发人员测量和比较不同代码片段的执行时间。此工具对于识别瓶颈和优化应用程序的性能非常宝贵。让我们深入了解如何在 Laravel 项目中利用 Benchmark 实用程序。Basic Usage基本用法使用 Benchmark 实用程序的最简单方法是使用 dd...
在 Ubuntu 和 Debian 中安装和升级 PHP 8.4
PHP 8.4 带来了几个新特性、安全性改进和性能改进,并有大量的特性弃用和删除。本指南解释了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4。虽然可以从源代码编译 PHP,但如下所述从 APT 存储库安装它通常更快、更安全,因为这些存储库将在未来提供最新的错误修复和安全更新。PHP 8.4 在当前的 Debi...
PHP 8.4: BCMath: 新增 bcdivmod 函数
PHP 8.4 中的 BCMath 扩展引入了一个名为 bcdivmod 的新函数,该函数将给定的数字除以给定的除数,并返回商和余数。结果与调用 bcdiv 和 bcmod 函数基本相同。bcdivmod 可用于需要商和余数的用例,它避免了必须分别调用 bcdiv 和 bcmod 函数。返回值是一个数组,第一个值是商,第二个值是余数。bcdivmod('42...
使用 Laravel Mailable 简化电子邮件处理
Laravel Mailable 提供了一种富有表现力的、面向对象的方法以在应用中编写电子邮件。该特性简化了创建和发送电子邮件的过程,使代码更具可读性和可维护性。让我们探讨一下如何在 Laravel 项目中有效地利用 Mailables。新建一个 Mailable 类要创建新的 Mailable,请使用 Laravel 的 Artisan 命令:php ar...
[Laravel 扩展包]Laravel 中使用 Muddle 包隐藏和保护来自机器人的电子邮件
Muddle 是一个 PHP 包,用于隐藏和保护来自机器人的电子邮件,允许你在 PHP 和 Laravel 中混淆电子邮件。这个包可以在任何 PHP 项目中使用,还包括 Laravel 的方便组件: {{--...
Spring Security 的双因素认证
在本教程中,我们将使用软令牌和 Spring Security 实现双因素身份验证功能。我们将把新功能添加到现有的简单登录流程中,并使用 Google Authenticator 应用程序生成令牌。简单地说,双因素身份验证是一个验证过程,遵循众所周知的“用户知道的东西和用户拥有的东西”的原则。因此,用户在身份验证过程中提供了一个额外的“验证令牌”...