Yêu cầu thg 8 7, 2020 8:25 SA 1330 0 2
  • 1330 0 2
0

update Laravel from 5.8 to 6x and 7x

Chia sẻ
  • 1330 0 2

Các bạn cho mình hỏi, mình đang có 1 source chạy Laravel 5.8 muốn up lên 6x rồi 7x thì tìm hiểu trên mạng có tài liệu nói chỉnh sửa file composer.json:

"laravel/framework": "^6.0",

chạy lệnh composer update

ngoài ra có một số tài liệu nói cần update các dependencies lên phiên bản mới hơn. Theo mình đọc tài liệu trên trang Laravel thì sẽ có một số thứ phiên bản mới sẽ thay đổi cần làm bằng tay, nói chung là mình mới tiếp cận với Laravel nên chưa nắm vững.

Bạn nào có kinh nghiệm chia sẻ giúp mình nhé. Thanks

2 CÂU TRẢ LỜI


Đã trả lời thg 8 7, 2020 8:43 SA
Đã được chấp nhận
+2

Đúng rồi đó bạn, bạn làm từng bước upgrade lên từng version Laravel một. Đầu tiên, bạn chỉnh sửa trực tiếp file composer.json như trên bạn chia sẻ ở trên, trong guideline của Laravel cũng nói vậy đó. Ngoài laravel/framework nếu bạn biết package khác cần phải sửa version thì mới tương thích với Laravel ver mới thì bạn có thể sửa luôn một thể hoặc không thì bạn sửa mỗi laravel/framework thôi cũng được.

Tiếp theo bạn chạy lệnh composer update để nó update dependencies, nếu có package không tương thích thì nó sẽ có báo lỗi ra màn hình về việc conflict, bạn chỉ cần quan tâm tên của package nào bị conflict rồi lên repo của package đó coi có version tương thích với Laravel ver mới hay chưa. Nếu có thì bạn tiếp tục sửa version của nó trong file composer.json. Lặp lại quá trình composer update này cho tới khi không còn conflict dependencies thì dừng và thực hiện tiếp các bước trong guideline của Laravel.

Trường hợp bạn dùng một package mà không tương thích với Laravel version mới thì bạn xem xét chuyển qua package khác thay thế hoặc sửa package giúp họ để support Laravel version mới hoặc là dừng việc upgrade Laravel lại - đợi khi package kia không còn conflict nữa thì tiến hành upgrade.

Chia sẻ
thg 8 7, 2020 8:49 SA

@longhiryu À quên mất, khi có conflict về dependencies, nếu bạn cần update bản version cho package khác thì bạn cũng nhớ lưu ý check lại code khi sử dụng nó nữa nha. Nếu việc sửa code bạn ước lượng thấy mất quá nhiều time, nhưng chưa upgade xong dependencies thì làm sao ngồi code được. Khi đó bạn cần note lại tên package để sau khi không còn conflict dependencies nữa thì quay lại sửa code nha.

Ngoài ra, mình cũng hay mở file composer.json trên repo laravel/laravel để xem version những package mặc định của laravel để so sánh. Cả những file config của laravel mình cũng làm vậy. 😄

Avatar Jake Long @longhiryu
thg 8 7, 2020 8:59 SA

Cảm ơn bạn, mình tựa hồ hiểu quy trình rùi, thanks nhìu.

Avatar Jake Long @longhiryu
thg 8 13, 2020 6:36 SA

Mình update đến giai đoạn này thì còn 02 cái notice này, bạn có kinh nghiệm xử lý thì giúp mình với
screenshot_1597300478.png

thg 8 14, 2020 1:24 SA

@longhiryu Theo như ảnh trên thì cái package eddieace/php-simple nó không tuân thủ chuẩn Auto Loading: https://www.php-fig.org/psr/psr-0/

Khi dùng trên composer v2 thì sẽ không autoload được. Cái này chỉ là warning thôi, bạn dùng composer v1.x thì chưa sao đâu.

Avatar Jake Long @longhiryu
thg 8 14, 2020 2:00 SA

@huukimit thanks bạn nhé,

Đã trả lời thg 8 7, 2020 8:39 SA
0

Cài laravel 7, bê controller view model qua cho dễ. Không thì phải làm thủ công theo docs laravel.

Chia sẻ
Avatar Jake Long @longhiryu
thg 8 7, 2020 8:46 SA

thanks bạn, cũng là một cách hay, cơ mà mình là người tiếp quản, không biết người trước có làm gì ngoài MCV ko nên chưa thử.

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí