Laravel 9.x 是 Laravel 框架的重要版本更新,主要聚焦于现代化开发体验和性能优化。以下是其核心特性:


1. PHP 8.0 最低要求

  • 强制要求 PHP 8.0 或更高版本,充分利用新语法特性(如联合类型、属性注解等)。

2. Symfony 6.x 组件升级

  • 底层依赖升级至 Symfony 6.x,提升稳定性与安全性。

3. Eloquent 访问器/修改器优化

  • 支持类型声明,简化模型数据处理:
    // 类型化访问器
    public function getName(): Attribute {
        return Attribute::make(
            get: fn ($value) => strtoupper($value),
            set: fn ($value) => $value,
        );
    }
    


4. 路由模型绑定增强

  • 支持自定义键名绑定:
    Route::get('/users/{user:uuid}', fn (User $user) => ...);
    


5. Scout 数据库引擎

  • 新增 database 驱动,支持纯数据库全文搜索(无需第三方服务):
    // config/scout.php
    'driver' => 'database',
    


6. 匿名队列迁移

  • 默认生成匿名队列迁移文件,避免命名冲突:
    php artisan queue:batches-table
    


7. 异常处理改进

  • 更精细的 HTTP 异常渲染控制:
    // 在 Exception 中重写 render 方法
    public function render($request) {
        return response()->view('errors.custom', [], 500);
    }
    


8. Flysystem 3.x 集成

  • 文件存储系统升级至 Flysystem 3.x,支持更灵活的云存储适配。

9. 测试辅助工具增强

  • 新增 freezeTime()travelTo() 方法简化时间模拟:
    $this->freezeTime()->post('/create', [...]); // 冻结当前时间
    


10. 破坏性变更

  • 移除 PHP 7.x 兼容性
  • 部分弃用方法彻底删除(如 array_* 辅助函数)
  • 默认启用 strict 模式配置

升级建议

  1. 使用 composer update 更新依赖
  2. 运行 php artisan view:clear 清除缓存
  3. 检查 升级指南 处理破坏性变更

$$ \text{版本兼容性公式: } \text{Laravel} \geq 9.x \implies \text{PHP} \geq 8.0 $$

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐