Laravel 11.8 中的新验证规则和手动使命令失败的能力

发布于 作者

A New Validation Rule and the Ability to Manually Fail a Command in Laravel 11.8 image

本周,Laravel 团队发布了 v11.8,其中包含一个新的验证规则,在 handle() 方法之外使命令失败的能力,在 make:mail 时创建视图等等。

在 model:show 命令中显示事件

Wendell Adrielmodel:show 命令贡献了一个 事件 部分,该部分显示了在 $dispatchesEvents 属性中定义的任何事件

新的 contains 验证规则

Andrew Brown 贡献了一个 contains 验证规则,该规则检查以确保预期值包含在给定的输入数组中

return [
'allowed_ips' => ['present', 'nullable', 'array', 'contains:' . $request->ip()],
'allowed_ips.*' => ['required', 'ip'],
];

在 PR 的描述中,此示例确保用户的 IP 位于 allowed_ips 数组中。您也可以传递多个参数,这将要求所有参数都存在于数据数组中。有关更多详细信息,请参见 Pull Request #51348

手动使命令失败的能力

Len Woodward 贡献了在 handle() 方法之外手动使 Artisan 命令失败的能力。与队列的 $this->fail() 方便方法一样,命令现在可以手动使作业失败

public function handle()
{
$this->trigger_failure();
}
 
protected function trigger_failure()
{
$this->fail('Whoops!');
}

有关实现细节和此方法如何比其他一些现有的方法在命令早期失败更有用的示例,请参见 Pull Request #51435

使用 make:mail 创建 Blade 视图

Ryan Chandlermake:mail 命令贡献了一个 --view 标志,它将创建一个空的 Blade 文件,并将创建的 Mailable 默认配置为使用它。它的工作方式与现有的 --markdown 选项相同,并节省了创建和连接 Blade 邮件模板的手动步骤。

php artisan make:mail OrderShipped --view=mail.orders.shipped

发布说明

您可以在下面查看新功能和更新的完整列表,以及 GitHub 上 11.7.0 和 11.8.0 之间的差异。以下发布说明直接来自 变更日志

v11.8.0

Paul Redmond photo

Laravel News 的专栏作家。全栈 Web 开发人员和作者。

Cube

Laravel 新闻通讯

加入 40k+ 其他开发者,不错过任何新的技巧、教程等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动完成功能和对本地和生产环境的即时反馈进行调试。

Tinkerwell
No Compromises logo

无妥协

Joel 和 Aaron,来自 No Compromises 播客的两名经验丰富的开发人员,现在可以为您的 Laravel 项目聘请。 ⬧ 固定费用 7500 美元/月。 ⬧ 无需漫长的销售流程。 ⬧ 无需合同。 ⬧ 100% 退款保证。

无妥协
Kirschbaum logo

Kirschbaum

提供创新和稳定性,以确保您的 Web 应用程序成功。

Kirschbaum
Shift logo

Shift

运行旧版本的 Laravel?即时、自动化的 Laravel 升级和代码现代化,以保持您的应用程序新鲜。

Shift
Bacancy logo

Bacancy

只需每月 2500 美元,即可为您的项目配备经验丰富的 Laravel 开发人员,拥有 4-6 年的经验。获得 160 小时的专业知识和 15 天的免费试用。立即安排电话会议!

Bacancy
Lucky Media logo

Lucky Media

立即获得幸运 - Laravel 开发的理想选择,拥有超过十年的经验!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel 电子商务

Laravel 的电子商务。一个开源软件包,将现代无头电子商务功能的力量带入 Laravel。

Lunar: Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 招聘板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS 启动工具包

SaaSykit 是一个 Laravel SaaS 启动工具包,包含运行现代 SaaS 所需的所有功能。支付、漂亮的结帐、管理面板、用户仪表板、身份验证、就绪组件、统计数据、博客、文档等等。

SaaSykit: Laravel SaaS 启动工具包
Rector logo

Rector

您无缝升级 Laravel、降低成本和加速创新的合作伙伴,帮助企业取得成功

Rector
MongoDB logo

MongoDB

通过 MongoDB 和 Laravel 的强大集成来增强您的 PHP 应用程序,使开发人员能够轻松高效地构建应用程序。支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。了解 MongoDB 的灵活的现代数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的无依赖输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

将 Swagger UI 添加到您的 Laravel 应用程序

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel Prompts 构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的网站搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 包为您的 Laravel 应用程序添加评论

阅读文章