Laravel 5.4 Resmi Dirilis!

Ridwan Fajar 6 Februari 2017

Laravel 5.4 Resmi Dirilis!

Dikabarkan oleh Eric L. Barnes pada tanggal 24 Januari 2017, Laravel 5.4 resmi dirilis dengan sejumlah fitur baru yang lebih ciamik. Beberapa fitur Laravel 5.4 yang bisa kamu cari tahu antara lain:

###Laravel Dusk

Adalah sebuah end-to-end browser testing tool untuk Javascript. Disediakan untuk membuat interaction test yang lebih baik. Kamu dapat menguji halaman web Laravel kamu seperti mengklik tautan dan tombol, mengisi form, dan juga drag and drop.

Dusk menggunakan ChromeDriver dan Facebook PHP-Webdriver untuk pengujian tersebut. Dan kelebihannya adalah kamu tidak memerlukan Selenium untuk menggunakan Laravel Dusk.

###Laravel Mix

Laravel Mix adalah generation berikutnya dari Elixir. Elixir yang dimaksud bukanlah bahasa pemrograman, melainkan sebuah package khusus yang didedikasikan untuk Laravel. Sekarang Mix dibangun menggunakan Webpack ketimbang Gulp, dan namanya diganti karena banyak sekali perubahan penting.

Baca juga: Tujuh Tips Belajar Laravel dengan Lebih Efektif

Jika kamu tidak melakukan kustomisasi menggunakan Elixir, seharusnya pindah ke Mix tidaklah sulit.

###Blade Components dan Slots

Component dan Slot dirancang untuk memberikan fleksibilitas dalam menggunakan Blade. Sebagai contoh kamu dapat melakukan include template untuk menampilkan alert seperti berikut:

// alert.blade.php
<div class="alert">
    {{ $slot }}
</div>

Dan di dalam template file dapat kamu lakukan dengan seperti berikut:

@component('inc.alert')
    This is the alert message here.
@endcomponent

###Markdown E-mail

Di Laravel 5.3 diperkenalkan dua buat fitur baru untuk mailing yaitu Mailable dan NOtification yang dapat mengirim pesan lewat e-mail, SMS, dan saluran lainnya

Dengan pondasi tadi, kamu dapat membuat email template dengan menggunakan Markdown. Dibalik layar, fitur ini menggunakan Parsedown Parser dan menggunakan komponen lainnya.

Sebagai contoh, kamu dapat melihat tulisan "Thank You" menggunakan tanda hashbang yang akan tampil sebagai h1 bila di-render ke HTML.

@component('mail:message')

# Thank You

Thank you for purchasing from our store. 

@component('mail::button', ['url' => $actionUrl, 'color' => $color])
{{ $actionText }}
@endcomponent

@endcomponent

###Automatic Facade

Sekarang kamu dapat menggunakan class apapun sebagai Facade on the fly. Berikut contohnya:

namespace App;

class Zonda 
{
    public function zurf()
    {
        return ‘Zurfing’;
    }
}

Dan di dalam route atau controller kamu dapat menggunakanya seperti ini:

use Facades\ {
    App\Zonda
};

Route::get('/', function () {
    return Zonda::zurf();
});

Baca juga: Taylor Otwell, Programmer Tokoh Dibalik Lahirnya Framework Laravel

###Peningkatan Route

Fitur baru lainnya adalah kemampuan menggunakan sintaks yang lebih ciamik untuk membuat named route atau middleware seperti contoh berikut:

Route::name('profile')->get('user/{id}/profile', function ($id) {
    // some closure action...
});

Route::name('users.index')->middleware('auth')->get('users', function () {
    // some closure action...
});

Route::middleware('auth')->prefix('api')->group(function () {
    // register some routes...
});

Route::middleware('auth')->resource('photo', 'PhotoController');

Route caching layer sekarang menerima peningkatan fitur yang dapat membuat route matching pada aplikasi yang sangat besar.

###Higher Order Messaging untuk Collection

Anggaplah kamu memiliki sebuah collection, dan untuk melakukan operasi ke setiap elemennya adalah seperti ini:

$invoices->each(function($invoice) {
    $invoice->pay();
});

Sekarang seperti ini:

$invoices->each->pay();

###Fitur lainnya

Beberapa fitur lainnya yang perlu kamu tahu:

  • helper baru bernama retry
  • helper baru bernama
  • Menambahkan halaman error default 503
  • Menambahkan nama terhadap password reset route
  • Mendukung PhpRedis
  • Mendukung IPv4 dan IPv6 validator
  • Validasi date_format sekarang digunakan

Selengkapnya, dapat kamu baca di tautan berikut ini https://laravel-news.com/laravel-5-4

(rfs/laravelnews)