Laravel 10.x 于2023年2月发布,作为长期支持(LTS)版本,引入了多项重要改进:

核心特性

  1. PHP 8.1+ 强制要求
    不再支持 PHP 8.0,需满足: $$ \text{PHP版本} \geq 8.1 $$

  2. 原生类型声明
    框架核心代码全面采用类型声明,例如:

    public function handle(Request $request, Closure $next): Response
    

  3. 测试增强

    • 新增 Process 测试组件,支持模拟系统进程
    • artisan test 命令新增 --profile 选项显示慢测试用例

功能优化

  1. 路由缓存提速
    路由缓存文件体积减少 75%,大型应用路由加载效率显著提升

  2. 字符串密码助手
    新增 Illuminate\Support\Str::password() 生成安全密码:

    $password = Str::password(length: 12, symbols: true);
    

  3. 队列异常限制
    任务类可定义最大异常次数:

    public $maxExceptions = 5;
    

模型与数据库

  1. 模型类型转换扩展
    支持 floatdouble 类型转换:

    protected $casts = [
        'precision' => 'float'
    ];
    

  2. whereExists() 优化
    支持更简洁的子查询构造:

    User::whereExists(function ($query) {
        $query->select('id')->from('posts');
    });
    

其他改进

  • Blade 组件优化:支持动态属性透传
  • dispatch() 方法返回 PendingDispatch 类型提示
  • 弃用 Route::home(),改用 Route::get('/')

升级建议:使用官方升级工具检查兼容性:

composer create-project laravel/laravel example-app --prefer-dist

完整特性参考 Laravel 10 升级指南

Logo

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

更多推荐