Laravel 的 Mailbox 简介:一个可直接嵌入应用的本地电子邮件收件箱
每个 Laravel 应用都会发送电子邮件,如欢迎邮件、密码重置邮件、订单确认邮件、发票邮件和通知邮件。每个团队都会遇到同样的尴尬时刻:在真正发送到收件箱之前,需要有人查看这些邮件的实际内容。常规选项都是折中方案。日志驱动会将编码后的 HTML 和头部信息转储到一个无人愿意阅读的文件中。Mailtrap 和 Mailhog 虽然能工作,但它们意味着每个新开发...
GoDaddy 共享主机上运行 php artisan tinker 时遇到 mkdir(): Permission denied 错误
在 GoDaddy 共享主机上运行 php artisan tinker 时遇到 mkdir(): Permission denied,这是因为 PsySH(Tinker 的底层 REPL)默认尝试在系统临时目录创建运行时文件夹,而 GoDaddy 共享主机通常禁止写入系统级临时目录。解决方案创建 .psysh.php 配置文件在项目根目录创建 .psysh...
Java: JMOD 文件格式详解
本教程中,我们将深入探讨 JMOD 的含义及其与 JAR 文件的区别。随后,我们将创建一个示例模块化项目,将其打包为 JMOD 文件,并使用 jlink 生成一个专为该应用程序定制的最小 Java 运行时环境。JMOD 是什么?在 Java 9 之前,Java 应用主要通过 Maven 和 Gradle 等构建工具打包为 JAR 文件。随着...
TIOBE 编程语言排行榜:2026 年 5 月 | 统计编程语言市场正经历重大整合
五月头条:统计编程语言市场正经历重大整合本月,编程语言 R 再次在 TIOBE 指数中排名第8,创下历史新高。这并非巧合。统计编程语言市场显然正在经历重大整合。最大的赢家是 Python 和 R,而许多历史悠久的替代品则继续失去势头。统计计算领域由众多小众语言和平台瓜分的时代似乎即将结束。、几家老牌企业正在稳步衰落:MATLAB 即将跌出 TIOBE 排名前...
PHP 8.6:新增 clamp 函数
PHP 8.6 引入了一个新的 clamp 函数,用于检查给定值是否在给定的范围内。如果值在范围内,则返回原始值;如果不在范围内,则 clamp 返回最接近的上限值。换句话说,clamp 函数可以将给定值“限制”到下限或上限。PHP 中的新 clamp 函数与其他编程语言(例如 C++ (std::clamp)、C# (Math.Clamp)、Go (cmp...
幕后揭秘:Blaze 如何加速 Blade 模板
如果你今年参加了 Laracon US 大会,或者你对 Livewire 非常熟悉,那么你可能已经听说过 Blaze 了。Blaze 是一个全新的即插即用包(由 Livewire 团队开发,但它适用于所有 Blade 模板网站),旨在显著优化 Laravel 渲染 Blade 组件的方式。你可以这样理解:即使是一个简单的...
如何审查 Laravel 代码
优秀的代码就像一场精彩的对话……清晰、简洁,且易于理解。在审查 Laravel 代码时,这一原则尤为适用。代码审查不仅仅是为了找出错误,更是为了确保项目在长期的发展过程中,始终保持安全、可扩展且易于维护。尽管不同团队在具体偏好上可能存在差异,但在代码审查领域,确实存在一些行之有效的最佳实践,能够持续带来更优异的成果。在本文中,我们将深入探讨高效 Larave...
Laravel Backup v10: 可序列化事件、弹性多目的地备份及更多功能
laravel-backup 的 v10 版本刚刚发布不久,这是一个用于为 Laravel 应用创建备份的包。备份是一个 zip 文件,其中包含你指定的目录中的所有文件,以及数据库的转储文件。你可以将它存储在 Laravel 支持的任何文件系统中,甚至可以一次备份到多个磁盘...
TIOBE 编程语言排行榜:2026 年 4 月 | Rust 的崛起势头似乎放缓
Rust 是 TIOBE 编程语言排行榜前 20 名中最年轻的语言。它于 2020 年 6 月首次跻身前 20 名,当时人们普遍预期它会进入前 10 名,成为 C 和 C++ 的强劲对手。那已经是近六年前的事了。此后,Rust 的排名稳步提升,甚至在今年年初达到了历史最高点(第 13 位)。然而,仅仅三个月后,它的排名就回落到了第 16 位。这表明 Rust...
Laravel Query Builder v7: Laravel 构建 API 的必备套件
Spatie 刚刚发布了 spatie/laravel-query-builder 的 v7 版本。这是一个旨在帮助你轻松构建灵活 API 端点的软件包。如果你正在使用 Laravel 构建 API,几乎肯定会需要允许调用方对结果进行过滤、排序、加载关联关系以及选取特定字段。若为每一个端点都手动编写这些逻辑,工作很快就会变得枯燥重复;而且,这也极易导致你无意...