Last Updated on May 10, 2023 by
Laravel 10 adalah versi terbaru dari kerangka kerja Laravel yang sangat populer di kalangan pengembang PHP. Pada rilis kali ini, Laravel membawa banyak perubahan penting dan fitur baru yang dirancang untuk meningkatkan kecepatan, keandalan, dan kemudahan penggunaan dalam melakukan pengembangan dengan Laravel.
Dalam artikel ini, kami akan membahas fitur-fitur baru yang dalam rilis ini, beberapa penghapusan maupun perubahan dalam versi saat ini dan bagaimana cara mempersiapkan aplikasi untuk peningkatan ke Laravel 10. Yuk langsung saja simak ulasan lengkapnya dibawah ini!
Table of Contents
Apa yang Baru pada Laravel 10?
Laravel 10 merupakan pembaruan versi utama Laravel yang telah rilis pada tanggal 7 Februari 2023. Pembaruan versi ini akan membawa banyak perubahan baru untuk meningkatkan pengalaman dalam hal pengembangan. Berikut beberapa pembaharuan yang dibawa Laravel pada versi terbaru ini
1. Kecepatan dan Keandalan Routing yang Ditingkatkan
Laravel 10 akan meningkatkan kecepatan dan keandalan routing dengan mengoptimalkan komponen routing untuk meminimalkan jumlah panggilan metode dan akses properti, mengurangi overhead dan meningkatkan kecepatan. Selain itu, penanganan route grup bersarang juga telah ditingkatkan untuk mengurangi kompleksitas dan meningkatkan keandalan pada versi terbaru ini.
Implementasi caching route juga telah dioptimalkan untuk mengurangi overhead dan meningkatkan kinerja saat menghasilkan cache route. Selain itu, deteksi model namespace otomatis telah diperbaiki untuk meminimalkan overhead dan memberikan peningkatan kinerja saat mengatasi binding model. Perbaikan ini membuat routing pada Laravel versi 10 lebih cepat dan lebih andal dalam memberikan pengalaman yang lebih baik bagi pengguna akhir aplikasi.
2. Kemampuan Penjadwalan Tugas Bawaan dalam Perintah Konsol
Laravel versi terbaru ini hadir dengan kemampuan penjadwalan tugas yang telah ditingkatkan dalam perintah konsol. Peningkatan ini membuat penjadwalan tugas berulang dalam aplikasi lebih mudah dan berjalan lancar. Berikut beberapa peningkatan yang termasuk dalam penjadwalan tugas tersebut
- Sintaks yang ditingkatkan untuk mendefinisikan tugas penjadwalan dalam perintah konsol dan kemampuan untuk menggunakan jadwal tugas di beberapa perintah.
- Dukungan yang ditingkatkan untuk menjadwalkan tugas dalam interval khusus.
- Pengelolaan tugas yang ditingkatkan dengan kemampuan untuk mencantumkan, memeriksa, dan menghapus tugas yang dijadwalkan.
- Eksekusi tugas yang ditingkatkan dengan pencatatan yang lebih baik dan penanganan kesalahan.
3. Template UI Laravel Jetstream dengan Tailwind CSS
Peningkatan Template UI Laravel Jetstream yang didukung oleh Tailwind CSS dilakukan untuk memberikan antarmuka yang lebih modern dan menarik secara visual. Dengan peningkatan tersebut, pengalaman pengguna dapat meningkat dan membuat aplikasi lebih menarik dan mudah diakses. Berikut cakupan peningkatan pada template ui Laravel versi terbaru
- Opsi tata letak dan gaya yang lebih baik agar sesuai dengan merek dan desain aplikasi Anda.
- Dukungan desain responsif yang ditingkatkan agar aplikasi Anda tampak hebat di semua perangkat dan ukuran layar.
- Opsi navigasi yang ditingkatkan, termasuk kemampuan untuk menyesuaikan bilah navigasi atas dan membuat halaman kustom.
- Dukungan internasionalisasi yang ditingkatkan memungkinkan Anda menerjemahkan aplikasi Anda ke dalam berbagai bahasa dengan mudah.
4. Laravel 10 Menggunakan Tipe Native PHP
Laravel versi terbaru kali ini menggunakan tipe native PHP untuk argumen fungsi dan nilai pengembalian, bukan mengandalkan blok PHPDoc untuk memberikan petunjuk tipe. Penggunaan native PHP membuat kode menjadi lebih ringkas dan mudah dipahami serta meningkatkan kinerja dengan mengurangi jumlah parsing yang diperlukan.
Menggunakan tipe native PHP juga memudahkan pemanfaatan sistem tipe baru yang diperkenalkan di PHP 7.4. TIpe baru ini memberikan pengecekan tipe yang lebih akurat dan kinerja yang lebih baik. Perubahan ini merupakan upaya Laravel untuk memodernisasi basis kode dan meningkatkan pengalaman pengembang.
5. Laravel 10 Menggunakan Aturan Validasi Invokable Secara Default
Laravel 10 menghadirkan aturan validasi invokable yang dapat mendefinisikan logika validasi sebagai kelas tunggal dan mandiri. Aturan ini memudahkan penggunaan kembali logika validasi pada beberapa form request dan controller dan membantu menjaga kode lebih terorganisir dan mudah dipelihara.
Untuk menggunakan aturan validasi invokable, buat kelas yang mengimplementasikan antarmuka Illuminate\Contracts\Validation\Rule, lalu gunakan nama kelas sebagai aturan validasi dalam form request atau controller. Laravel akan secara otomatis menginstansiasi kelas dan menjalankan logika validasi, menyederhanakan kode dan meningkatkan keterbacaannya.
<?php namespace App\Rules; use Illuminate\Contracts\Validation\Rule; class CheckPasswordStrength implements Rule { public function passes($attribute, $value) { // Define your validation logic here. For example: return preg_match('/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9]).*$/', $value); } public function message() { return 'The :attribute must be at least 3 characters long, contain a letter and a number.'; } }
6. Laravel 10 Tidak Mendukung PHP 8.0
Pada versi kali ini, Laravel tidak lagi mendukung PHP 8.0. Ini berarti jika ingin menggunakan Laravel 10, versi PHP yang digunakan harus versi yang lebih baru seperti PHP 8.1 atau lebih tinggi. Menghapus dukungan untuk versi PHP yang lebih lama adalah praktik umum dalam komunitas Laravel karena memungkinkan kerangka kerja untuk memanfaatkan fitur dan peningkatan kinerja terbaru dalam versi PHP terkini. Hal ini membantu pengguna mendapatkan pengalaman yang lebih baik dan lebih efisien.
Jika saat ini menggunakan versi PHP 8.0 dan ingin menggunakan Laravel 10, instalasi PHP harus ditingkatkan ke versi yang lebih baru. Pembaruan pada kode atau paket pihak ketiga akan diperlukan sehingga penting untuk merencanakan dan menguji secara menyeluruh sebelum melakukan perubahan pada lingkungan produksi Anda.
Penghapusan dan Perubahan pada Laravel 10
Selain fitur adanya fitur baru dan beberapa fitur yang ditingkatkan, Laravel juga melakukan beberapa penghapusan dan perubahan pada beberapa fitur dari versi sebelumnya. Berikut beberapa penghapusan maupun perubahan yang terdapat pada versi terbaru Laravel.
1. Metode dispatchNow() Digantikan oleh dispatchSync()
Laravel 10 menggantikan metode dispatchNow dengan dispatchSync. Metode dispatchSync bekerja mirip dengan dispatchNow tetapi memberikan lebih banyak kontrol atas proses eksekusi pekerjaan dan kinerja yang lebih baik. Berikut contoh penggunaan fungsi dispatchSync di versi terkini dari Laravel.
dispatch(new SendEmailJob($data))->dispatchSync();
Metode dispatchSync mengirim pekerjaan segera dengan melewati sistem antrian dan menjalankan pekerjaan secara sinkron dalam proses saat ini. Perbedaan utama antara dispatchSync dan dispatchNow adalah bahwa dispatchSync menggunakan konektor sync daripada konektor antrian default. Fungsi dispatchNow masih dapat digunakan dengan memanggil metode pada instans yang akan dikirim. Berikut contoh penggunaan fungsi dispatchNow
dispatch(new SendEmailJob($data))->dispatchNow();
2, Penghapusan Fasade Pemberitahuan ke Event Model Notifiable
Pada versi terbaru Laravel ini, tabel Pemberitahuan dan Fasade Pemberitahuan telah dihapus demi penerapan event model Notifiable. Dengan event model Notifiable, pemberitahuan kini dikirim langsung dari model daripada disimpan dalam basis data dan dikirim melalui Fasade Pemberitahuan. Berikut contoh penggunaan event model Notifiable di Laravel 10:
use Illuminate\Notifications\Notifiable; class User extends Model { use Notifiable; public function routeNotificationFor($supir) { if ($supir === 'mail') { return $this->email; } } } $supir = User::first(); $supir->notify(new UserNotification());
3. Penghapusan Metode Route::home
Laravel versi 10 juga telah menghapus metode Route::home pada versi kali ini. Dalam versi Laravel sebelumnya, metode Route::home mendefinisikan rute yang mengarah ke halaman utama aplikasi. Berikut contoh cara mendefinisikan rute home di Laravel terbaru:
Route::get('/', function () { return view('Selamat Datang'); });
4. Penghapusan assertTimesSent yang Telah Usang
Versi Laravel sebelumnya menggunakan metode assertTimesSent untuk memeriksa apakah sejumlah pemberitahuan telah dikirim menggunakan sistem pemberitahuan Laravel. Namun, Laravel 10 merekomendasikan pengujian pemberitahuan dengan menggunakan metode assertSent bersama dengan metode times. Berikut contoh penggunaan metode assertSent untuk menguji pemberitahuan di Laravel versi 10:
Notification::abc(); Notification::send($user, new UserNotification()); Notification::assertSent(UserNotification::class, function ($notification, $channel) use ($user) { return $notification->user->id === $user->first()->id; })->times(count($user));
5. Gunakan Fungsi array_is_list PHP 8.1 Asli
Fungsi array_is_list menentukan apakah sebuah array adalah daftar yang didefinisikan sebagai array dengan kunci integer berurutan yang dimulai dari 0. Fungsi ini dapat digunakan bersama dengan fungsi array lainnya untuk menyederhanakan operasi array. Berikut contoh penggunaan fungsi array_is_list di Laravel versi terkini.
$daftar = [1, 2, 3, 4]; if (array_is_list($daftar)) { echo 'Ini adalah daftar array.'; } else { echo 'Ini bukan daftar array.'; }
Bagaimana Cara Mempersiapkan Laravel 10?
Sebelum memperbarui ke versi paling baru, catatan rilis dan perubahan yang mungkin mempengaruhi aplikasi harus ditinjau terlebih dahulu. Hal ini akan membantu Anda memahami apa yang telah berubah dalam versi Laravel terbaru dan merencanakan pembaruan yang diperlukan untuk kode. Berikut adalah tugas yang harus dilakukan sebelum memperbarui versi Laravel.
- Periksa persyaratan versi PHP: Laravel 10 memerlukan PHP 8.1 atau versi yang lebih baru, pastikan Anda menggunakan versi PHP yang benar sebelum meng-upgrade ke Laravel terbaru.
- Cadangkan aplikasi: Sebelum melakukan perubahan besar pada aplikasi, sangat disarankan untuk mencadangkan kode dan basis data. Ini akan memberi Anda jaring pengaman jika ada yang salah selama proses peningkatan.
- Kompatibilitas dengan versi terbaru: Pastikan dependensi seperti paket pihak ketiga kompatibel dengan Laravel 10. Beberapa dependensi mungkin perlu diperbarui atau digantikan untuk memastikan aplikasi terus berfungsi dengan baik.
Penutup
Dengan rangkaian fitur baru dan peningkatan yang ada dalam Laravel 10, pengembang sekarang memiliki kerangka kerja yang lebih kuat dan fleksibel untuk membangun aplikasi web yang kuat, responsif, dan menarik. Penting untuk meninjau catatan rilis dan memahami perubahan yang mungkin mempengaruhi aplikasi sebelum melakukan peningkatan. Pastikan untuk menggunakan versi PHP yang benar dan menyesuaikan dependensi yang diperlukan. Segera coba Laravel versi 10 untuk menciptakan pengalaman pengguna yang lebih baik dalam aplikasi. Semoga ulasan kali ini bermanfaat dan menambah wawasan Anda dalam pengembangan!
kuti terus WEBAPP untuk mendapatkan info terbaru dan menarik seputar dunia pengembangan aplikasi dan website! Klik https://appkey.id/ agar tak ketinggalan info menarik serta artikel terbaru seputar dunia teknologi dan pengembangan software setiap harinya! Sampai jumpa lagi!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.