Laravel 11 和 Laravel Reverb 现已发布。Reverb是 Laravel 生态系统的最新成员,是第一方、可扩展的 WebSocket 服务器,旨在为用户的应用程序提供强大的实时功能。
Laravel 11 引入了:极简应用结构、默认使用 SQLite 、实现 health routing、提供每秒速率限制、支持优雅的加密密钥轮换、改进队列测试、引入新的 Artisan 命令、添加 Resend 邮件传输、集成 Prompt validator、新的 Artisan commands、Model Casts 改进、The once function、改进了使用 内存 数据库进行测试时的性能、改进了对 MariaDB 的支持等等,
Laravel 11 使用的 PHP 版本最低要求是 PHP 8.2。
极简应用结构
Laravel 11 为新的 Laravel 应用程序引入了极简应用程序结构,无需对现有应用程序进行任何更改。新的应用程序结构旨在提供更精简、更现代的体验,同时保留 Laravel 开发人员已经熟悉的许多概念。
应用程序文件夹已大幅简化;HTTP 内核和控制台内核都已删除。很少定制的九个中间件现已移至框架本身,异常处理程序已被移除,Providers 目录精简为单一提供程序。
此外,routes
文件夹也得到了简化;默认情况下, api.php
和channels.php
路由文件不再存在,因为许多应用程序不需要这些文件。
可以使用简单的 Artisan 命令来创建它们:
php artisan install:api
php artisan install:broadcasting
Laravel Reverb
Laravel Reverb 直接为你的 Laravel 应用程序带来超快且可扩展的实时 WebSocket 通信,并提供与 Laravel 现有事件广播 工具 套件(例如Laravel Echo)的无缝集成。此外,Reverb 通过 Redis 的发布/订阅功能支持水平扩展,允许用户在多个后端 Reverb 服务器之间分配 WebSocket 流量,所有服务器都支持单个高需求应用程序。
下面是一个压力测试示例,约 30,000 个客户端保持与 Reverb 的开放连接,其中每个连接订阅 10 个不同的通道,每秒交换超过 6,000 条消息:
此外,用户可以在 Laravel Pulse 中监控 Reverb 服务器的性能,以更好地了解正在处理的连接和消息的数量。要深入了解 Laravel Reverb,可参阅完整的 Reverb 文档。
默认情况下的 SQLite
默认情况下,新的 Laravel 应用程序使用 SQLite 进行数据库存储,以及 Laravel 会话、缓存和队列的database
驱动程序。此外,使用composer create-project
命令或通过 Laravel 安装程序创建项目将自动创建 SQLite 文件并为你运行初始数据库迁移:
这允许你在创建新的 Laravel 应用程序后立即开始构建应用程序,而无需安装额外的软件或创建额外的数据库迁移。
更多详情可查看官方公告。
为您推荐与 laravel 相关的帖子: