编程 Laravel 13 发布:最低 PHP 8.3,Cache::touch() 与 Http::pool 默认并发都有改动

2026-10-02 21:03:10

Laravel 13 发布:最低 PHP 8.3,Cache::touch() 与 Http::pool 默认并发都有改动

Laravel 13 于 2026-03-17 在 Laracon EU 2026 发布。最低 PHP 版本提高到 8.3,PHP 8.2 不再支持。Bug 修复支持到 2027 Q3,安全支持到 2028 Q1(官方表格写的是 2028 年 3 月 17 日)。

官方强调本次聚焦最小化破坏性变更,多数应用升级几乎不用改业务代码;唯一影响基础设施的是 PHP 版本要求。

相关链接:发布说明、13.x releases.md、Laravel News 发布报道。

PHP Attributes 铺到 15+ 处

头号特性是原生 PHP 属性。框架在 15+ 个位置引入属性写法,替代类属性声明,完全可选、向后兼容。

控制器与授权侧有 #[Middleware]、#[Authorize];队列侧有 #[Tries]、#[Backoff]、#[Timeout]、#[FailOnTimeout]。此外还扩展到 Eloquent、事件、通知、校验、测试、资源序列化等位置。

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

Cache::touch():只续期,不取值

以前延长缓存项 TTL 要 get + put 两次往返,还得把取出来的值再传回服务端。Cache::touch() 直接省掉一次往返。

各驱动实现:Redis 侧是单条 EXPIRE,Memcached 用原生 TOUCH,database 驱动是一条 UPDATE。返回 true 表示成功,false 表示键不存在。

已实现该方法的驱动:Array、APC、Database、DynamoDB、File、Memcached、Memoized、Null、Redis。

Reverb 增加 database 驱动

此前 Laravel Reverb 做水平扩展必须用 Redis 作为消息代理。13 新增 database 驱动,用现有的 MySQL 或 PostgreSQL 就能水平扩展,中小应用不必再单独部署 Redis 集群。

Http::pool() 并发默认改为 2

此前 concurrency 为 null,池内请求实际是串行执行的——一个不太显眼的坑。13 把默认值改为 2,开箱即并行。

MySQL 的 DELETE...JOIN 尊重 ORDER BY / LIMIT

Laravel 的 MySQL 语法现在能编译完整的 DELETE...JOIN,包含 ORDER BY 与 LIMIT。此前这些子句会被静默忽略,只能改写成原生 SQL。

第一方 AI SDK

随 13 稳定发布。提供文本生成、工具调用 agent、embedding、音频、图像、向量库集成的统一 API,provider-agnostic(OpenAI、Anthropic 等),内置重试、错误归一化与队列集成。

语义 / 向量搜索

原生向量查询支持,配合 PostgreSQL + pgvector。可以从字符串生成 embedding 存入数据库,再用标准 Eloquent / 查询构造器做相似度检索:

$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'Best wineries in ...')
    ->limit(10)
    ->get();

JSON:API Resources

第一方支持 JSON:API 规范,资源类负责对象序列化、关系包含、sparse fieldsets、links 与合规响应头。

安全

PreventRequestForgery:请求伪造防护中间件正式化为 PreventRequestForgery,在原有基于 token 的 CSRF 之上增加 origin 感知校验——检查状态变更请求的 Origin 头,作为第二层防护。使用 Inertia.js / Livewire 标准表单的现有应用无需改代码。

Passkey(WebAuthn)认证:直接集成进官方 starter kits 与 Laravel Fortify。用户可用 Face ID、指纹、Windows Hello 或硬件密钥免密登录,新应用开箱可用,不需要第三方包。

其他

  • Teams 多租户支持回到官方 starter kits
  • 支持 Symfony 7.4 与 8.0
  • 测试隔离:Str 工厂在测试之间自动重置
复制全文 生成海报 Laravel PHP 框架 后端 Web开发

推荐文章

程序员茄子在线接单