编程

"Typed property must not be accessed before initialization" - 引入类型提示遇到的错误

412 2024-04-16 16:56:00

在 PHP 中,当属性的定义使用了类型提示,而在显式赋值前访问该属性时,会碰到 "Typed property must not be accessed before initialization" 错误。通过为该属性提供默认值,或者在类的构造函数中初始化该属性,可以解决这一问题。

详情...
编程

PHP 中间件模式的工作原理及如何使用

405 2024-04-16 03:48:00

在这篇文章中,我们将研究 PHP 中的中间件。这种模式在处理请求和响应时最为常见。但是中间件模式也可以应用于其他各种地方。我们将研究什么是中间件,中间件是如何工作的,中间件何时有用,以及中间件的替代方案是什么。注意: 中间件模式不是“Gang of Four”介绍的模式的一部分,但我个人仍然将其视为一种模式,因为它可以应用于各种情况。什么是中间件呢?PHP ...

详情...
编程

PHP 8.4: Curl: libcurl 最小版本需求增加到 7.61.0

277 2024-04-15 01:20:00

Curl 扩展在 PHP 中公开了 libcurl 功能。虽然可以使用任何支持的 libcurl 版本编译 Curl 扩展,但该扩展需要特定的最低 libcurl 版本。这使得扩展更容易确保某些功能和 API 始终可用。在 PHP 8.4 之前,Curl 扩展要求 libcurl 版本在 7.29.0(2013 年发布)以上。而 PHP 8.4 及其之后的版...

详情...
编程

PHP 8.4: Curl: curl_version() 支持 feature_list

223 2024-04-14 20:29:00

Curl 扩展的 curl_version 函数返回包含 Curl 版本及编译信息的关联数组。包括 Curl 版本、SSL 库名及版本、Brotli 和 libz 版本、Curl 支持的协议列表以及 Curl 支持的所有特性的位掩码(bitmask)。功能的位掩码不便于发现,也不便于检查 Curl 中是否支持特定功能(如HTTP/2、HSTS等)。在 PHP...

详情...
编程

在 Eloquent 使用 Laravel Wallet 处理金钱交易

355 2024-04-12 02:13:00

Laravel Wallet 旨在提供可靠且灵活的交易,并处理在数据库中以精确计算的方式保存交易的复杂部分。它提供了直观的 API,易于使用和理解。按照安装说明进行设置完,你可以在 User 模型中使用 HasBlance trait。namespace App\Models; use Illuminate\Database\Eloquent\Mod...

详情...
编程

非正统 Eloquent 2

282 2024-04-11 20:38:00

这是“非正统 Eloquent" 的第二部分。你可以在此处查看上一篇。上一篇文章,我们探讨了各种各样的“非正统”选项,这些选项可以与我们的 Eloquent 模型结合使用。然而,那篇文章只是冰山一角。在这篇文章中,我想介绍一些其他的技巧和窍门,这些技巧和窍门可能比第一篇文章中介绍的主题更深奥,但仍然很方便。例如,你有没有考虑过在seeder 或测试之外使用模...

详情...
编程

CSS 中 @media 规则及用例

463 2024-04-11 19:38:00

使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。浏览器支持表格中的数字表示支持 @media 规则的第一个浏览器的版本号。规则chromeIEFireF...

详情...
编程

TIOBE 编程语言排名: 2024 年 4 月

1190 2024-04-11 00:13:00

四月头条:PHP 正在失去它的魔力吗?PHP 在本月的 TIOBE 指数中跌至历史最低。当 TIOBE 索引于 2001 年开始时,PHP 即成为构建交互式网站的标准语言。它的受欢迎程度逐年上升:PHP 最终获得了超过 10% 的市场份额,甚至在 TIOBE 指数中排名前三。在那之后,许多竞争对手进入了这个市场。这些所谓的 web 开发框架的例子有 Rail...

详情...
编程

Laravel 11.3 发布:Laravel Prompt 添加多行文本输入

338 2024-04-11 00:07:00

Laravel 团队发布了 v11.3,更新内容包括:Laravel Prompts 中使用多行文本、Session:hasAny() 方法、Context::pull() 方法等等。多行文本提示(Prompt)Joe Tannenbaum 为 Laravel prompts 贡献了一个 textarea 函数,使之接受多行文本:Laravel Prompt...

详情...
编程

Laravel 11 的新欢迎页

340 2024-04-10 17:31:00

Laravel 11 和 Laravel Reverb 已于 2024 年 3 月 12 日发布。随着 Laravel 的重大更新,当使用 laravel new 或 composer 创建新 Laravel 应用时,我们将获得一个新的欢迎页面。我们来看看新的欢迎页面与之前版本的 Laravel 相比有何不同。无论你是刚接触这个框架还是已经有一段时间了,创建...

详情...