Fitur Baru di Laravel 6.0

Baru-baru ini, framework PHP Laravel telah merilis versi terbaru LTS (Long Term Support) mereka yaitu Laravel 6.0. Versi yang satu ini merupakan lanjutan dari versi terdahulunya, Laravel 5.8 yang telah dirilis pada Februari 2019.

Setelah mendengar banyak desas-desus tentang fitur baru di Laravel 6.0 belakangan ini, kini kita sudah dapat mencobanya secara langsung. Pihak laravel sendiri sudah mengklaim mereka telah membuat berbagai improvement dan fitur baru guna membantu kita para developer.

Tepat pada malam hari tadi, 3 September 2019 laravel secara official mengumumkan kelahiran Laravel 6.0. Tidak tanggung-tanggung, fitur laravel 6.0 ini dilabeli sebagai the next LTS version menggantikan laravel 5.5. Versi Laravel 6.0 ini akan didukung bug supportnya hingga 3 September 2021 dan perbaikan keamanan hingga 3 September 2022.

Lalu, apa saja fitur baru yang terdapat pada Laravel 6.0? Saya sendiri sudah mencoba menyicipi sekilas fitur-fitur tersebut dan berikut adalah ringkasan dari saya dan berbagai sumber.

1. Semantic Versioning

Laravel akan mulai menerapkan standart semantic versioning dalam mengeluarkan rilisan baru sejak versi ini di keluarkan. Dengan demikian, laravel akan konsisten dengan package lain buatan laravel yang sudah lebih dulu mengimplementasi standart ini.

2. Gate Inspect

Gate merupakan salah satu fitur pada Laravel untuk mengatur otorisasi/authrorization user dalam melakukan sebuah action. Di versi kali ini, Laravel menambahkan function inspect yang dapat kamu gunakan untuk mengakses gate instance. Tujuannya agar kamu mudah dalam menghandling error message yang tersimpan di gate tersebut.

Define Gate
Implementation

3. Job Middleware

Jika sebelumnya kamu hanya bisa menggunakan middleware ketika menghandle sebuah request, kini kamu juga bisa mengimplementasikan-nya ketika menjalankan sebuah queue. Setiap job pada queue kamu akan divalidasikan terlebih dahulu oleh middleware sebelum dijalankan. Agar lebih jelas, kamu bisa mencobanya dengan tutorial berikut.

4. Lazy Collections

Fitur ini merupakan pengembangan dari fitur collections pada Laravel. Lazy Collections mengimplementasikan fitur generator pada PHP untuk memungkinkan kita melakukan iterasi foreach tanpa membuat array dalam memori. Tujuannya untuk menghemat penggunaan memori.

Sebab, ketika kita melakukan iterasi foreach, maka memori kita akan terkuras untuk menampung array yang besar sebanyak data yang di looping, sedangkan generator hanya mengalokasikan satu memori saja ketika memproses sebuah item. Untuk lebih jelasnya, silahkan baca dokumentasi PHP berikut.

5. Eloquent Subquery Enhancement

Fungsi baru yang dimaksud kali ini berada pada fungsionalitas SELECT. Penambahan fitur baru ini memungkinkan kita untuk mengextract informasi dari hasil subquery table lain yang berhubungan hanya dengan 1 query. Nantinya, informasi tersebut kamu bisa diakses pada hasil select yang kamu lakukan. Selama ini, fitur subquery hanya digunakan pada kondisi where atau saat melakukan order saja.

6. Laravel UI

Frontend scaffolding (starter template) yang disediakan oleh Laravel kini sudah dipecah terpisah ke package laravel/ui sehingga tidak bercampur lagi dengan package utama framework itu sendiri. Nantinya, kita bisa menentukan apakah ingin menggunakan vue atau bootstrap.

Demikianlah fitur-fitur terbaru dari Laravel 6.0. Jika ingin mempelajar lebih lanjut tentang laravel, bisa kunjungi terus blog ini. Fitur manakah yang paling kamu tunggu-tunggu?