Laravel 5.6 telah rilis secara official dan ketika kita menginstal via composer maka akan otomatis menginstal versi 5.6 secara default. Apa saja perubahan yang ada pada rilis terbaru ini dapat dilihat pada akun GitHub resmi laravel.
Dan menurut situs laravel-news.com, berikut beberapa fitur terbaru yang ada pada Laravel 5.6:
Logging Improvements
Fitur yang paling menonjol pada Laravel 5.6 ini adalah perbaikan pada sisi logging. Dimana yang biasanya kita menggunakan config/app.php pada Laravel 5.6, sekarang beralih ke config/logging.php secara default pada Laravel 5.6.
Kita dapat mengkonfigurasi stack yang bisa mengirim pesan log ke multiple handler. Contohnya, kita dapat mengirim semua pesan debug ke sebuah log sistem dan mengirimkan pesan error ke dalam slack.
Baca lebih lanjut tentang konfigurasi dan kostumisasi log dengan mengunjungi situs resmi dokumentasi laravel.
Single Server Task Scheduling
Jika kita menjalankan sebuah task pada beberapa server, maka task akan jalan di beberapa server. Kita dapat mengindikasikan bahwa sebuah task hanya berjalan pada sebuah server dengan menggunakan method onOneServer() method:$schedule->command('report:generate')
->fridays()
->at('17:00')
->onOneServer();
Catatan: kita harus menggunakan memchached atau redis cache driver sebagai driver aplikasi cache standar untuk dapat memanfaatkan penjadwalan tugas server tunggal di rilis Laravel 5.6.
Dynamic Rate Limiting
Laravel 5.6 memperkenalkan Dynamic Rate Limiting yang memberi kita fleksibilitas yang lebih luas dan memungkinkan untuk membatasi pengguna dengan mudah:Route::middleware('auth:api', 'throttle:rate_limit,1')
->group(function () {
Route::get('/user', function () {
//
});
});
Pada contoh di atas, rate_limit adalah atribut dari model App\User untuk menentukan jumlah permintaan yang diperbolehkan dalam batas waktu yang diberikan.
Broadcast Channel Classes
Kita sekarang dapat menggunakan class channel dalam file routes/channels.php kita daripada menggunakan closures.Untuk membuat sebuah channel class baru, Laravel 5.6 menyediakan sebuah command baru, yaitu:
php artisan make:channel OrderChannel
Kemudian meregistrasi channel kita ke dalam berkas routes/channels.php seperti berikut:
use App\Broadcasting\OrderChannel;
Broadcast::channel('order.{order}', OrderChannel::class);
API Controller Generation
Kita sekarang dapat menggenerate sebuah resource controller untuk API yang akan mengecualikan aksi edit dan create yang tidak perlu, dimana hanya menerapkan pada resource controller untuk memberi return HTML. Untuk membuat sebuah resource controller, gunakan --api seperti berikut:php artisan make:controller API/PhotoController --api
Eloquent Date Casting
Kita dapat mengkostumisasi sendiri format dari Eloquent Date dan Datetime casting:protected $casts = [
'birthday' => 'date:Y-m-d',
'joined_at' => 'datetime:Y-m-d H:00',
];
Format ini digunakan pada serialisasi model ke array atau data JSON.
Blade Component Aliases
Kita sekarang dapat menggunakan komponen alias pada blade untuk akses yang lebih nyaman. Contohnya, jika kita meletakan sebuah komponen pada resources/views/components/alert.blade.php, kita dapat menggunakan method component() ke alias "nama" untuk membuatnya lebih singkat:Blade::component('components.alert', 'alert');
You can then render it with the defined alias:
@component('alert')
<p>This is an alert component</p>
@endcomponent
Argon2 Password Hashing
Laravel 5.6 telah mendukung sebuah algoritma hashing password terbaru untuk PHP 7.2+. Kita dapat mengontrol driver hashing mana yang digunakan secara default dalam berkas konfigurasi config/hashing.php baru.UUID Methods
Dua method baru sekarang tersedia dalam Illuminate\Support\Str class untuk membangkitkan Universal Unique Identifiers (UUID):// The methods return a Ramsey\Uuid\Uuid object
return (string) Str::uuid();
return (string) Str::orderedUuid();
Metode orderedUuid() akan menghasilkan UUID timestamp untuk pengindeksan database yang lebih mudah dan lebih efisien.
Collision
Collision dibuat oleh Nuno Maduro, dimana paket ini dibuat untuk memberikan sebuah pemberitahuan error yang bagus ketika berinteraksi dengan aplikasi kita melalui terminal. Mulai dari Laravel 5.6, Collusion kini delah diinstall secara default.Untuk lebih lengkap tentang Collision, silahkan cek disini.


Tidak ada komentar:
Posting Komentar