Cara Upgrade Projekmu dari Laravel 8 ke Laravel 9

Cek artikel ini di Medium: @ngodingbang/cara-upgrade-projekmu-dari-laravel-8-ke-laravel-9-bd58ad5e1e62

This article has been translated into English version: This is How I Upgrade My Laravel 8 Project to Laravel 9

Pendahuluan

Akhirnya setelah sempat tertunda di tahun lalu, beberapa hari yang lalu Laravel telah merilis update terbarunya di versi 9. Nah, di artikel sebelumnya kita sudah membahas secara umum apa saja fitur dan perubahan yang ada di Laravel 9. Bagi yang belum membaca artikelnya, kalian bisa cek artikel dari NgodingBang yang sudah di-publish di sini.

Laravel 9 Rilis! Apa Saja yang Baru di Laravel 9?

Di artikel kali ini BangNgoding akan membuat tutorial cara melakukan upgrade projek Laravel dari versi 8 ke versi 9. Di sini saya menggunakan contoh projek saya sendiri yaitu BCA Denpasar Chatbot. Singkatnya projek ini adalah sebuah sistem antrian di bank yang didigitalisasi menggunakan fitur bot dari Telegram. Projek ini sifatnya open source dan saya sudah taruh di GitHub, jadi kalian bisa cek projek tersebut di bawah ini.

ianriizky/bcadenpasar-chatbot

ianriizky/bcadenpasar-chatbot

Sistem otomasi pesan menggunakan chatbot untuk menangani penukaran uang kecil dan baru secara online menggunakan PHP dan Laravel Framework (Studi Kasus: PT. Bank Central Asia Tbk. Cabang Denpasar).

Baca Selengkapnya

Oke, tanpa banyak basa-basi lagi. Mari kita masuk ke tutorialnya!

Sebelum kamu meng-upgrade projekmu ke Laravel 9, pastikan versi PHP-mu sudah berada di versi 8.0.2.

Versi PHP yang di-define di composer.json
Versi PHP yang di-define di composer.json

Cek versi PHP projekmu di composer.json dan pastikan tampilannya sudah seperti gambar di atas. Sebagai informasi tambahan, PHP versi 7.4 pada saat konten ini dibuat juga sudah tidak lagi di-support. Sehingga hal ini lah yang menyebabkan Laravel 9 saat ini juga mewajibkan penggunanya untuk memakai PHP versi 8.

Supported Versions di PHP saat ini (per tanggal 13 Februari 2022)
Supported Versions di PHP saat ini (per tanggal 13 Februari 2022)

Jika sudah, mari kita lanjut ke tahap selanjutnya!

Ubah require package berikut di composer.json:

  • laravel/framework ke ^9.0
  • nunomaduro/collision ke ^6.0

Dan sebagai tambahan, ganti package facade/ignition ke spatie/laravel-ignition: “^1.0” di composer.json projekmu seperti contoh di bawah ini.

Package yang perlu diubah untuk upgrade ke Laravel 9
Package yang perlu diubah untuk upgrade ke Laravel 9

Selanjutnya jalankan perintah berikut: composer update.

Catatan: Kalau kamu masih mau melihat dulu apa aja package yang bakal ter-update setelah menjalankan perintah composer update tanpa merubah isi dari composer.json dan composer.lock, kamu bisa gunakan flag--dry-run setelah tulisan composer update. Jadi nanti daftar package yang bakal berubah hanya di-print oleh composer di terminal/command prompt kamu.

Jika kita lihat di dokumentasi resmi Laravel di bagian Trusted Proxies, maka kita akan mengatahui bahwa ada bagian yang harus diubah di app/Http/Middleware/TrustProxies.php. Jadi inheritance kelas yang sebelumnya diarahkan ke class Fideloper\Proxy\TrustProxies sekarang diubah ke class milik Laravel yaitu Illuminate\Http\Middleware\TrustProxies. Untuk detail lebih lengkapnya kamu bisa lihat pada gambar di bawah ini.

Perubahan TrustProxies di Laravel 9 (Sumber: https://laravel.com/docs/9.x/upgrade#the-assert-deleted-method)
Perubahan TrustProxies di Laravel 9 (Sumber: https://laravel.com/docs/9.x/upgrade#the-assert-deleted-method)

Dan finally, at last but not least …

Jika projek yang kamu buat memiliki unit test atau feature test, maka tidak ada salahnya untuk menjalankan perintah php artisan test atau perintah lainnya sesuai dengan petunjuk dari library yang kamu pakai untuk membuat test tersebut. Hal ini tentu saja untuk memastikan apakah projekmu tetap berjalan dengan baik setelah melakukan upgrade Laravel.

Penutup

Untuk informasi lebih lanjut, kamu bisa kunjungi panduan resmi dari Laravel untuk upgrade dari Laravel 8 ke Laravel 9 di https://laravel.com/docs/9.x/upgrade#upgrade-9.0. Jika kamu menemukan kesulitan saat melakukan proses upgrade, jangan sungkan untuk menulis problemmu di kolom komentar ya! Barangkali BangNgoding atau teman-teman lainnya yang juga membaca artikel ini bisa ikut membantu atau memberi saran. Terima kasih dan semoga sukses dengan upgrade projeknya!


Sumber

Konten Terkait