PHP 8.4: MBString: Unicode 字符数据库更新到版本 16
MBString 扩展包含从 Unicode 规范中提取的数据子集,用于其操作,比如将给定字符串转换为大写或小写,确定给定字符串的宽度(在某些东亚脚本中有用)等。在 PHP 8.3 中,MBString 扩展包含了 2022 年 9 月发布的 Unicode 14.0 标准的数据。在 PHP 8.4 中,Unicode 字符数据库(UCD)数据源从 14.0...
PHP 8.4: Intl: 新增 intltz_get_iana_id 函数和 IntlTimeZone::getCanonicalID 方法
在 PHP 8.4 中,Intl 扩展提供了一个名为 intltz_get_iana_id 的新函数以及一个 IntlTimeZone 类上的新的静态方法IntlTimeZone::getIanaID(),其返回 IANA 时区 ID。大多数情况下,其返回值与传递的时区标识符相同。然而,在给定的时区标识符被弃用或有替换的的时区标识符的情况下,这些新函数/方法...
Laravel 中通过密码确认操作来保护敏感操作
在任何 web 应用中,某些特定的操作都需要额外的安全层。Laravel 提供了一种通过密码确认来实现这一点的优雅方法。让我们探讨一下如何在关键操作之前设置密码确认路由来验证用户身份。密码确认概念密码确认通过要求用户在执行敏感操作之前重新输入密码来添加额外的安全层。这确保了即使用户离开他们的帐户登录,其他人也无法在不知道密码的情况下执行关键操作。实现密码确认...
优化 Eloquent:Laravel 中的访问器缓存和值对象
Laravel 的 Eloquent ORM 是一个处理数据库的强大工具,当你利用访问器缓存和值对象等功能时,它变得更加强大。让我们深入了解这些概念,看看它们如何增强 Laravel 应用的。通过 shouldCache() 缓存访问器结果在处理计算密集型访问器时,缓存可以显著提高性能。Laravel 提供了 shouldCache() 方法来轻松缓存访问器...
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...