Laravel 9 移转到 Laravel 12 有那些规则的变动
请教:
Laravel 9 composer update 是否支援到php 8.4.5 ?
如果没有,我以composer安装laravel 12,请问Laravel 9 移转到 Laravel 12 有那些规则的变动 ? 我想要资讯,谢谢.
关于 LearnKu
别升级啊,好多扩展都没有适配
闭包路由注册限制 Laravel 11+默认禁用闭包路由,需通过Route::get('/', [Controller::class, 'method'])显式绑定控制器
Laravel 11移除了部分配置文件(如config/cors.php),改为通过.env直接配置
模型工厂语法更新 工厂类从HasFactory Trait迁移至Illuminate\Database\Eloquent\Factories\HasFactory。 动态属性(如$model->unsetRelation())可能需替换为显式方法调用
* 数据库与迁移变动 *
Laravel 10+生成的迁移文件默认使用匿名类(如return new class extends Migration),需检查现有迁移文件的兼容性113。
早期版本使用deleted_at,Laravel 11+推荐使用SoftDeletes Trait的trashed()方法替代部分自定义查询10。 索引与字段方法调整 $table->string('column')->unique()需显式指定索引名称(如->unique('index_name'))。 timestamp字段的默认值需通过useCurrent()设置
还有这个 时间处理的问题 www.bigran.cn/2025/03/09/k1ilmz6i/
Carbon 3 是大坑, 请严格测试!
我的建议是你先升级到
Laravel 11,下半年再升级到12我的建议是,先升级到 laravel 10。
没问题后,可以尝试升级到 laravel 11。(这是个大升级,改动很大)
laravel 11 和 12,基本上就是无缝升级,属于为更新而更新了。
至于PHP,先升级到 8.2。待 Laravel 升级完成后,即可考虑升级到 PHP 8.4。
辅助工具 rector/rector 和 driftingly/rector-laravel,可以辅助你升级,具体自己研究哇
如果是线上稳定在跑项目,为什么要升级呢?建议不要胡乱升级。
我用laravel-shift 从laravel9升级到10,再到11,发现11的改动有点大,适配了3天