新版 Laravel 异常处理: 配置异常报告和渲染逻辑

代码老兵 技术 2026年5月20日 20
在新版的 Laravel 中,异常处理完全集中在项目的 bootstrap/app.php 文件中。从 Laravel 11 开始,就没有 app/Exceptions/Handler.php 这个文件了。Laravel 11 对其应用骨架进行了大规模的“瘦身”,将原本分散在各个文件中的配置进行了集中管理:去掉了 app/Exceptions/Handler.php,异常处理完全移到了 boots...

Laravel queue job 中 WithoutOverlapping 和 ShouldBeUnique 的区别

代码老兵 技术 2026年4月24日 72
这两个很容易混淆,但它们解决的是完全不同层级的问题: ShouldBeUnique = 防“重复入队” WithoutOverlapping = 防“并发执行” 一、核心区别机制阶段作用ShouldBeUnique入队时队列里只能有一个WithoutOverlapping执行时同一时间只能跑一个 二、ShouldBeUnique(唯一 Job)use Illuminate\Contracts\Qu...

Laravel 里的 mutex lock(互斥锁)

代码老兵 技术 2026年4月24日 62
官方已经帮你封装好了,核心就是:用 Cache 实现分布式锁(支持 Redis / Memcached 等)基本不用自己造轮子。 一、最标准用法use Illuminate\Support\Facades\Cache;Cache::lock('my-lock', 10)->get(function () { // 这里的代码同一时间只会执行一次}); 说明'my-lock' 锁名(全局唯一)...

让 Laravel AI SDK 支持国内 AI 平台如百炼(千问),火山引擎(豆包),千帆等

代码老兵 技术 2026年4月16日 76
Laravel 13 首次内置 AI SDK。支持最常用聊天:OpenAIAnthropicGeminiAzureGroqxAIDeepSeekMistralOllama 国内支持 DeepSeek,但像豆包,千问那些不在其中。但因为大多AI都兼容 OpenAI,所以稍微配置下就能支持国内的 百炼,千帆,火山引擎等平台安装 AI SDK 请参考 https://laravel.com/docs/1...

Laravel 回滚 migration

代码老兵 技术 2026年4月15日 55
1) 回滚最近一次 migration batch命令:php artisan migrate:rollback它会回滚 最后一个 batch,可能包含多个 migration。例如你刚刚执行了:php artisan migrate这次跑了 3 个 migration,那么 rollback 会一次撤销这 3 个。2) 回滚最近 N 个比如最近 5 个:php artisan migrate:r...

Laravel 13 核心新特性

代码老兵 技术 2026年4月14日 99
Laravel 13 已经在 2026-03-17 正式发布,整体升级体验比 11 → 12 还顺滑,官方重点是:AI 原生能力、Attribute 扩展、更强 API 能力、几乎零破坏性升级。1) 官方 AI SDK(最大新特性)Laravel 13 首次内置 AI SDK。统一支持:Text generationAgent tool callingEmbeddingsAudioImagesVe...

在 Laravel 中操作多个数据库

代码老兵 技术 2026年3月19日 59
方式1:多个 connection 适用于:不同数据库服务器不同账号权限云数据库(RDS 等)1. 配置.env:DB_CONNECTION=mysqlDB_DATABASE=main_dbDB_SECOND_DATABASE=log_dbconfig/database.php:'connections' => [ 'mysql' => [ 'driver' => 'mysql'...

Laravel 集合分组求和

代码老兵 技术 2026年2月28日 29
在 Laravel Collection 里,groupBy + sum 是一个非常常见的组合。1. 按字段分组并求和(最常用)示例数据$items = collect([ ['type' => 'A', 'amount' => 10], ['type' => 'A', 'amount' => 20], ['type' => 'B', 'amount' => 5...

Laravel 事件和监听器创建

代码老兵 技术 2026年2月28日 41
在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Events/UserRegister...