Fitur Yang Harus Kamu Coba di Laravel 5.5

Anugrah Sandi 14 November 2017

Fitur Yang Harus Kamu Coba di Laravel 5.5

Setelah sebelumnya saya menulis alasan mengapa kamu harus menggunakan Laravel, kali ini kita akan berbicara kelebihan lainnya yang dimiliki Laravel yaitu fitur yang sangat mengagumkan yang tak boleh anda lewatkan.

Meskipun Laravel 5.5 telah release agustus 2017 silam, namun bagi kamu yang belum mendapatkan informasi fitur terbaru dari Laravel, maka tak ada salahnya kamu meneruskan membaca tulisan ini hingga tuntas. Berikut daftar fitur yang tak boleh kamu lewatkan pada project kamu yang menggunakan Laravel 5.5

Baca Juga: Alasan Mengapa Kamu Harus Menggunakan Framework Laravel

Laravel 5.5 Menggunakan PHP 7+

Ketika akan menggunakan Laravel 5.5 maka anda wajib untuk memperbaharui versi PHP menjadi PHP 7+, hal ini tentu saja akan meningkatkan kecepatan aplikasi web anda dan akan menghemat biaya yang digunakan project anda. Hal ini seiring dengan laporan yang diumumkan oleh tim engineer tumblr setelah menggunakan PHP 7+.

“Almost immediately saw the latency drop by half, and the CPU load on the servers decrease at least 50%, often more. Not only were our servers serving pages twice as fast, they were doing it using half the amount of CPU resources - Tumbler engineering report

“Etsy is a popular PHP-based online marketplace for handmade and vintage goods that has been in operation since 2005 (29 million items listed on its website, 54 million registered users, among them 1.4 million active sellers, and 19.8 million active buyers). Initially it was written in PHP 5, and later, was switched to HHVM (Virtual Machine for PHP). After migration to PHP 7, Etsy was significantly better from such perspectives as the memory and system/user CPU usage, homepage/listing delivery speed and number of hosting servers - Etsy Case Study

Custom Template Email

Meskipun tergolong lama, email masih menjadi andalan dalam memberikan informasi dalam bentuk apapun. Hal yang menarik pada Laravel adalah kita dapat dengan mudah membuat fitur untuk mengirim email karena telah tersedia method yang siap digunakan. Tapi pada versi sebelumnya meskipun telah memiliki keunggulan dalam hal membuat fitur untuk mengirim email, akan tetapi secara default kita masih menggunakan template bawaan Laravel meskipun juga dapat dicustom sesuai keinginan kita, karena dunia programming adalah dunia kreatifitas tanpa batas. Namun hal yang menari pada versi terbaru ini kita telah dimudahkan untuk membuat custom template email.

Pada versi 5.4 Anda bisa memulainya dengan membuat file CSS yang berisi style untuk template anda kemudian tempatkan pada direktori : resources/views/vendor/mail/html/themes/template_saya.css Kemudian update array markdown pada config/mail.php :

'markdown' => [
  'theme' => ‘template_saya’,
  'paths' => [
     resource_path(‘views/vendor/mail’),
   ],
 ],

Sedangkan pada versi 5.5, anda lebih dimudahkan lagi untuk menggunakan template email secara khusus untuk masing-masing kategori email misalnya. Maka hal yang harus anda lakukan adalah dengan membuat file CSS customnya pada : resources/views/vendor/mail/html/themes/themebaru.css Kemudian anda dapat mendefinisikannya menggunakan properti $theme pada setiap class Mailable yang anda gunakan.

class KirimEmail extends Mailable
 {
 protected $theme = 'themebaru';
 …
 }

Custom Rule Validation

Laravel 5.5 akan memperkenalkan class khusus untuk menangani validation. Ada dua hal yang perlu diperhatikan dalam membuat class ini, yakni: Passes dan Message. Dengan class ini kita bisa membuat* custom validation* sesuai yang kita inginkan.

<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class ValidasiBaru implements Rule
{
  public function passes($attribute, $value)
  {
    return $value > 5;
  }
  public function message()
  {
    return ‘:attribute Masih kurang!’;
  }
}

Frontend Presets

Sebagaimana yang kita ketahui bahwa pada Laravel 5.4 telah memiliki vue.js sebagai frontend Javascript, namun pada Laravel 5.5 akan diperkenalkan dengan 3 frontend diantaranya:* vue.js* sebagai default,* react.js* dan bootstrap. Anda dapat menggunakannya sesuai keinginan anda.

Anda dapat mengubah preset menjadi bootstrap mengunakan command:

php artisan preset bootstrap

Laravel juga memberikan pilihan untuk tidak menggunakan kesemuanya dengan menggunakan command:

php artisan preset none

Laravel Auto Register Package

Pada versi sebelumnya kita harus menuliskan beberapa langkah untuk mendaftarkan package pada service provider dengan menambahkan alias sebelum digunakan. Kabar baiknya, pada Laravel 5.5 telah tersedia cara baru yang cukup keren dalam hal menangani package anda. Cara keren tersebut adalah Laravel secara otomatis mendaftarkan ke service provider dan menambahkan alias pada composer.json ketika melakukan instalasi package. Taylor Otwell menamakan fitur ini: Package Auto-Discovery

"extra": {
  "laravel": {
    "providers": [
      //
    ],
    "aliases": {
      //
    }
  }
 }