Selasa, 27 Maret 2018

Unknown

Yang Baru Pada Laravel 5.6

Laravel 5.6 - Laravel versi 5.6 baru dirilis sebagai versi mayor framework laravel saat ini. Versi Laravel yang terbaru ini membawa banyak fitur, dan kali ini kita akan membahas fitur-fitur yang dibawah oleh Laravel 5.6

Yang Baru Pada Laravel 5.6

Logging Improvements

Fitur yang paling besar yang disediakan oleh Laravel 5.6 adalah peningkatan logging. Dimana konfigurasinya dipindahkan dari config/app.php menjadi config/logging.php.

Disana kita bisa mengatur "stacks" yang mana dapat mengirimkan pesan log ke beberapa handler. Contohnya, kalian ingin mengirimkan pesan debug ke system log dan juga mengirimkan error log ke slack.

Single Server Task Scheduling

Jika kalian memiliki task scheduler yang berada di beberapa server, dimana setiap task tersebut akan berjalan sesuai dengan servernya masing-masing. Kalian bisa saja mengatur agar task tersebut hanya dapat pada satu server saja, yakni menggunakan method onOneServer().



$schedule->command('report:generate')
    ->monday()
    ->at('19.00')
    ->onOneServer();
Kalian diharuskan menggunakan driver memcached atau redis agar drive bawaan laravel ini dapat menggunakan fitur dari single server task scheduling pada Laravel versi 5.6 ini.

Dynamic Rate Limiting

Laravel versi 5.6 ini memperkenalkan dynamic rate limiting yang memberikan sebuah fleksibilitas dan memungkinkan kalian memberikan rate untuk setiap user dengan mudah




Route::middleware('auth:api','throttle:rate_limit,1')   
    ->group(function(){
        Route::get('/user',function(){
        //
        });
});
Contoh diatas tersebut, rate_limit merupakan sebuah atribut dari model App\User yang digunakan untuk menentukan jumlah request yang diperbolehkan untuk User pada waktu yang telah ditentukan.

Broadcast Channel Classes

Saat ini kalian dapat menggunakan channel classes pada file route/channels.php daripada kalian menggunakan closures. Untuk membuat class channel yang baru, di Laravel 5.6 ini kita dapat memberikan perintah make:channel :



php artisan make:channel MemberChannel
Selanjutnya kalian daftarkan channel diatas ke dalam file route/channels.php:



use App\Broadcasting\MemberChannel;

Broadcast::channel('member.{member}',MemberChannel::class);

API Controller Generation

Sekarang kalian bisa membuat resource controller untuk sebuah API yang mana resource tersebut mengabaikan aksi create dan edit yang tidak diperlukan. Sehingga create dan edit tersebut hanya berguna untuk resource controller yang mengembalikan HTML. Untuk membuat resource controller untuk keperluan API gunakanlah flag --api, seperti berikut:



php artisan make:controller API/UserController --api

Eloquent Date Casting

Kalian dapat mengkostumisasi format dari tanggal (date) Eloquent dan casting datetime secara sendiri:



protected $casts=[
    'date_of_birth'=>'date:Y-m-d',
    'created_at'=>'datetime:Y-m-d H:00'
];
Format ini digunakan pada model serialization untuk sebuah data array atau data JSON.

Blade Component Aliases

Pada Laravel 5.6 ini kalian dapat memberikan alias kepada komponen dari Blade untuk memudahkan kalian mengaksesnya. Contohnya, jika kalian ingin menyimpan komponen pada resources/views/components/warning.blade.php kalian dapat menggunakan method component() untuk mengaliaskannya.



Blade::component('component.warning','warning');
Selanjutnya kalian dapat merender file blade tadi denga alias yang telah kalian buat :



@component('warning')
    <p> Ini adalah komponen warning</p>
@endcomponent

Argon2 Password Hashing

Laravel 5.6 kini telah mendukung algoritma hasing terbaru untuk PHP 7.2 keatas. Kalian dapat mengontrol setiap driver hasing yang ingin kalian gunakan pada file config/hashing.php.

UUIID Methods

Kini tersedia dua method baru yang disediakan Laravel 5.6 pada Illuminate\Supports\Str, yakni untuk membuat Universal Unique Indetifier(UUID) menggunakan method uuid() dan untuk membuat UUID dengan timestamp yang akan memudahkan dan mengefisiensikan index pada database digunakan method orderedUuid().



return (string) Str::uuid();
return (string) Str::orderedUuid();

Bootstrap 4

Pada Laravel 5.6 untuk semua scaffolding terutama bagian frontend (kode yang digenerate) saat ini telah menggunakan Bootstrap 4.

Kesimpulan

Untuk Laravel 5.6 ini terdapat banyak fitur-fitur yang dapat memudahkan kita dalam mengerjakan projek yang sedang kita jalani. Untuk itu bagi kalian yang masih menggunakan Laravel versi 5.6 kebawah, saatnya bagi kalian untuk upgrade versi laravel kalian ke Laravel 5.6, agar kalian dapat menggunakan fitur-fitur baru yang disediakan Laravel 5.6

Unknown

About Unknown -

Detekno.me merupakan sebuah blog yang membahas mengenai info teknologi, sistem operasi, blog, serta membahas berbagai bahasa pemrograman dan Framework Laravel.

Subscribe to this Blog via Email :