Semua Tentang Komputer

Sidebar Ads

test

Breaking

Post Top Ad

Your Ad Spot

Selasa, 13 Februari 2018

Laravel 5.6 Telah Datang! Apa yang Baru?


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

Post Top Ad

Your Ad Spot

Halaman