Laravel 5.6 Telah Rilis, Ini Fitur Barunya

Laravel 5.6

Dirangkum dari situs resminya https://laravel.comLaravel 5.6 melanjutkan perbaikan yang dilakukan di Laravel 5.5 dengan menambahkan fitur logging system yang lebih baik, single-server task scheduling, perbaikan di model serialization, upgrade ke Bootstrap 4.0 dan lain-lain.

Perbaikan Logging

Fitur terbesar dalam rilis versi terbaru Laravel 5.6 adalah perbaikan logging. Pada versi ini file konfigurasi logging berpindah dari config/app.php ke config/logging.php.

Anda bisa mengatur konfigurasi bagaimana pesan log dikirim kepada banyak handlers. Misalnya, Anda dapat mengeset handler agar mengirim semua pesan debug ke log sistem dan mengirim log kesalahannya.

Baca lebih lanjut tentang cara mengkonfigurasi dan menyesuaikan log dengan mengunjungi tautan dokumentasi logging.

Single Server Task Scheduling

Jika Anda memiliki task scheduler atau penjadwal tugas yang berjalan di beberapa server, task akan berjalan di setiap server. Anda dapat menunjukkan bahwa task hanya boleh dijalankan di salah satu server dengan method onOneServer():

Catatan: Agar dapat berjalan, Anda harus menggunakan memcached atau redis sebagai driver cache aplikasi default.

Dynamic Rate Limiting

Laravel 5.6 memperkenalkan dynamic rate limiting yang memberi Anda lebih banyak fleksibilitas dan memungkinkan konfigurasi rate limit per pengguna dengan mudah:

Pada contoh di atas, rate_limit adalah atribut dari App\Usermodel untuk menentukan jumlah permintaan yang diperbolehkan dalam batas waktu yang diberikan.

Broadcast Channel Classes

Anda sekarang dapat menggunakan kelas channel di dalam file routes/channels.php daripada menggunakan closures.

Untuk menghasilkan kelas channel baru, Laravel 5.6 memiliki perintah baru yaitu make:channel:

Pendaftaran channel dapat dilakukan di dalam file routes/channels.php seperti:

API Controller Generation

Sekarang Anda dapat menggenerate resource controller untuk API yang akan mengecualikan aksi create dan edit yang tidak perlu dan hanya berlaku untuk resource controller dengan return HTML. Untuk menggenerate resource controller, gunakan parameter –api:

Eloquent Date Casting

Anda dapat secara individual mengkustomisasi format tanggal Eloquent dan casting datetime seperti ini:

Format ini digunakan pada serialisasi model ke dalam data array atau JSON.

Alias Blade Component

Anda sekarang bisa menggunakan alias komponen blade untuk akses yang lebih baik. Misalnya, jika Anda menyimpan komponen di dalam resources/views/components/alert.blade.php Anda bisa menggunakan method component() untuk nama alias yang lebih pendek:

Anda kemudian bisa membuatnya dengan alias yang didefinisikan:

Argon2 Password Hashing

Laravel 5.6 mendukung algoritma hashing password baru untuk PHP 7.2+. Anda dapat mengontrol driver hashing yang digunakan secara default di dalam file konfigurasi baru config/hashing.php.

Metode UUID

Dua method baru sekarang tersedia di kelas Illuminate\Support\Str untuk menghasilkan Universal Unique Identifier (UUID):

Method orderedUuid() akan menghasilkan timestamp pertama UUID untuk mempermudah dan mengefisienkan pengindeksan database.

Collision

Laravel Collision hadir di Laravel 5.6
Laravel Collision © https://laravel-news.com

Laravel News baru saja menulis tentang Collision yang masuk ke rilis Laravel 5.6 sebagai sebuah dev dependency yang akan memberikan laporan kesalahan yang indah pada console.

Bootstrap 4

Semua framework css frontend scaffolding dan contoh komponen Vue sekarang menggunakan Bootstrap 4. Laravel telah membahas Bootstrap 4 saat berada dalam versi beta, dan bahkan membuat preset untuk Bootstrap 4.

Belajar Lebih Lanjut Tentang Laravel 5.6

Untuk mengupgrade aplikasi Laravel ke versi 5.6, Anda dapat mengunjungi laman panduan peningkatan versi. Laravel berusaha untuk memperbarui aplikasi Anda ke versi terbaru sesingkat mungkin. Upgrade dari versi 5.5 menjadi 5.6 diperkirakan memakan waktu antara 10-30 menit. Jelas akan bervariasi berdasarkan aplikasi Anda.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.