Laravel 13 新特性总览

摘要

Laravel 13 于 2026 年 3 月 17 日正式发布,延续了 Laravel 年度发布的节奏,重点关注 AI 原生工作流、更强的默认值以及更具表现力的开发者 API。本文将全面解析 Laravel 13 的核心特性,包括:

  • Laravel AI SDK:第一方 AI 集成,支持文本、图像、音频和向量嵌入
  • PHP Attributes 扩展:36 个新属性,让配置更加声明式
  • JSON:API Resources:开箱即用的 JSON:API 规范支持
  • 语义/向量搜索:原生向量查询支持,构建 AI 驱动的搜索体验
  • 队列路由:通过类名定义默认队列路由规则
  • 安全增强:请求伪造保护中间件升级

本文适合希望快速了解 Laravel 13 核心特性的开发者,为后续深入学习各特性奠定基础。

1. Laravel 13 发布概览

1.1 版本信息

项目详情
发布日期2026 年 3 月 17 日
PHP 最低版本8.3
PHP 支持版本8.3 - 8.5
Bug 修复截止2027 年 Q3
安全修复截止2028 年 3 月 17 日

1.2 设计理念

Laravel 13 的开发重点在于最小化破坏性变更。团队致力于持续交付不影响现有应用的质量改进,因此大多数 Laravel 应用可以在几乎不修改代码的情况下升级到 Laravel 13。

1.3 核心特性一览

特性描述影响程度
Laravel AI SDK第一方 AI 集成,支持多提供商重大
PHP Attributes36 个新属性,声明式配置重大
JSON:API Resources开箱即用的 JSON:API 支持中等
语义/向量搜索原生向量查询支持重大
Queue Routing类级别队列路由中等
Cache TTL Extension缓存 TTL 延长轻微
Request Forgery Protection请求伪造保护增强中等

2. Laravel AI SDK

2.1 核心概念

Laravel 13 引入了第一方 Laravel AI SDK,提供统一的 API 用于:

  • 文本生成
  • 工具调用代理
  • 嵌入生成
  • 音频合成与转录
  • 图像生成
  • 向量存储集成

2.2 提供商支持

AI SDK 支持多个 AI 提供商,使用统一的 Laravel 风格 API:

  • OpenAI
  • Anthropic
  • Google Gemini
  • 其他兼容提供商

2.3 快速示例

1
2
3
4
5
use App\Ai\Agents\SalesCoach;

$response = SalesCoach::make()->prompt('Analyze this sales transcript...');

return (string) $response;
1
2
3
4
5
6
7
use Laravel\Ai\Image;
use Laravel\Ai\Audio;
use Illuminate\Support\Str;

$image = Image::of('A donut sitting on the kitchen counter')->generate();
$audio = Audio::of('I love coding with Laravel.')->generate();
$embeddings = Str::of('Napa Valley has great wine.')->toEmbeddings();

3. PHP Attributes 扩展

3.1 核心改进

Laravel 13 继续扩展 PHP 8 属性支持,新增 36 个属性,使常见配置和行为声明更加直观。

3.2 控制器属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

namespace App\Http\Controllers;

use App\Models\Comment;
use App\Models\Post;
use Illuminate\Routing\Attributes\Controllers\Authorize;
use Illuminate\Routing\Attributes\Controllers\Middleware;

#[Middleware('auth')]
class CommentController
{
#[Middleware('subscribed')]
#[Authorize('create', [Comment::class, 'post'])]
public function store(Post $post)
{
// ...
}
}

3.3 队列属性

1
2
3
4
5
6
7
8
9
10
11
12
13
use Illuminate\Queue\Attributes\Tries;
use Illuminate\Queue\Attributes\Backoff;
use Illuminate\Queue\Attributes\Timeout;
use Illuminate\Queue\Attributes\FailOnTimeout;

#[Tries(3)]
#[Backoff([10, 30, 60])]
#[Timeout(120)]
#[FailOnTimeout]
class ProcessPodcast implements ShouldQueue
{
// ...
}

4. JSON:API Resources

4.1 核心功能

Laravel 13 包含第一方 JSON:API 资源,简化符合 JSON:API 规范的响应构建:

  • 资源对象序列化
  • 关系包含
  • 稀疏字段集
  • 链接生成
  • JSON:API 合规响应头

4.2 使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use Illuminate\Http\Resources\Json\JsonApiResource;

class PostResource extends JsonApiResource
{
public function toArray($request): array
{
return [
'type' => 'posts',
'id' => (string) $this->id,
'attributes' => [
'title' => $this->title,
'content' => $this->content,
],
'relationships' => [
'author' => $this->whenLoaded('author'),
],
];
}
}

5. 语义/向量搜索

5.1 核心能力

Laravel 13 深化了语义搜索能力,提供:

  • 原生向量查询支持
  • 嵌入工作流
  • 相似性搜索 API

5.2 使用示例

1
2
3
4
$documents = DB::table('documents')
->whereVectorSimilarTo('embedding', 'Best wineries in Napa Valley')
->limit(10)
->get();

5.3 技术要求

  • PostgreSQL 数据库
  • pgvector 扩展
  • Laravel AI SDK

6. 队列路由

6.1 核心功能

Laravel 13 新增 Queue::route() 方法,允许在中央位置定义特定任务的默认队列/连接路由规则:

1
Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');

6.2 应用场景

  • 任务分类路由
  • 资源隔离
  • 优先级管理

7. 缓存 TTL 延长

7.1 新增方法

1
Cache::touch('key', $additionalSeconds);

无需检索和重新存储值即可延长缓存项的 TTL。

7.2 应用场景

  • 会话续期
  • 热点数据保活
  • 动态过期管理

8. 请求伪造保护

8.1 新增中间件

PreventRequestForgery 中间件提供:

  • 来源感知请求验证
  • 与基于令牌的 CSRF 保护兼容
  • 增强的安全默认值

9. 升级指南

9.1 升级步骤

  1. 更新 composer.json 中的 Laravel 版本
  2. 运行 composer update
  3. 检查并更新已弃用的 API
  4. 运行测试套件

9.2 破坏性变更

Laravel 13 的破坏性变更极少,主要包括:

  • PHP 最低版本要求提升至 8.3
  • 部分已弃用方法的移除

10. 总结

Laravel 13 是一个以开发者体验为核心的版本,主要亮点包括:

  1. AI 原生:第一方 AI SDK 让 AI 功能集成变得简单
  2. 声明式配置:PHP Attributes 让代码更加清晰
  3. API 优先:JSON:API Resources 简化 API 开发
  4. 智能搜索:向量搜索支持构建 AI 驱动的搜索体验
  5. 平滑升级:最小化破坏性变更,升级成本低

Laravel 13 标志着框架向 AI 原生开发的重要转型,同时保持了对现有应用的兼容性和升级友好性。

参考资料