You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel框架abort()使用__()翻译报错信息时占位符替换失效问题

问题根因

你对abort()函数的参数用途理解有误,传递参数的位置错误:
Laravel 中abort()函数的签名为 abort(int $状态码, string $错误信息 = '', array $响应头 = []),第三个参数是用来配置HTTP响应头的,并不会参与翻译占位符的替换逻辑。你把占位符替换数组传给了abort()的第三个参数,自然不会生效。

修复方案

将占位符替换数组直接传给翻译函数__()的第二个参数即可,__()函数的第二个参数就是专门用来处理占位符替换的:

abort(404, __('errors.no-category-of-type', ['foo' => 'bar']));

调整后翻译函数会直接将:foo替换为bar再把最终文本传给abort()作为报错信息,输出结果就符合预期了。


内容的提问来源于stack exchange,提问作者Stroomschok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:36:03