Tutorial Laravel 5.5 - Trait

Post a Comment

Trait adalah salah satu fitur yang sudah ada sejak PHP versi 5.4. Dan dikarenakan Laravel banyak menggunakan trait maka versi PHP minimum yang dibutuhkan untuk menginstall Laravel adalah 5.4. Namun sejak Laravel 5.5 ini versi PHP yang harus digunakan adalah PHP versi 7. Kegunaan dari Trait ini adalah kita dapat membuat suatu function di mana function tersebut nantinya dapat digunakan oleh semua Class lainnya. Jadi dengan Trait kita dapat mengefisienkan kode yang kita buat nantinya.


#CARA MEMBUAT TRAIT

Cara membuat Trait yang pertama adalah menyiapkan direktorinya terlebih dahulu. Saya membuat direktori baru agar susunan file program menjadi rapi. Di sini saya membuat direktori app/Http/Traits. Kemudian buatlah sebuah file php biasa yang saya namakan misalnya GeneralTrait.php. Berikut ini adalah isi dari file tersebut :

<?php
namespace App\Http\Traits;

trait GeneralTrait
{
    public function plus($a, $b){
        return $a + $b;
    }

    public function minus ($a, $b){
        return $a - $b;
    }
}

Sama seperti pembuatan file Controller, di sini anda perlu menggunakan namespace untuk menunjukkan letak dari file tersebut. Pada kode di atas saya membuat dua function umum yaitu plus untuk melakukan penjumlahan dan minus untuk melakukan pengurangan. Function tersebut tidak akan ada gunanya dalam program sesungguhnya, namun karena di sini saya hanya memberikan contoh yang mudah saja agar dapat dipahami.


#CARA PENGGUNAAN

Seperti biasanya saya menyiapkan route nya terlebih dahulu seperti kode di bawah ini

Route::get('/trait','TraitController@index');

Dan kemudian berikut ini adalah isi dari file TraitController.php

<?php 
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers;
use App\Http\Traits\GeneralTrait;

class TraitController extends Controller {
    use GeneralTrait;

    public function index() 
    {
        echo $this->plus(5,3);
        echo "<br/>";
        echo $this->minus(5,3);
    }

}

Ada 2 hal yang perlu dilakukan agar anda dapat menggunakan Trait yang telah dibuat. Pertama adalah menggunakan use lokasi dari file Trait yang anda buat di bagian atas dan kedua adalah menggunakan use nama Trait di dalam Class Controller tersebut.

Cara pemanggilannya adalah dengan menggunakan variabel $this kemudian diikuti dengan nama function pada Trait yang ingin anda gunakan. Seperti penjelasan sebelumnya, Trait ini dapat digunakan dalam berbagai Class selama kita mengincludenya dengan menggunakan use. Dan selain itu kita juga dapat menggunakan banyak Trait sekaligus dalam 1 Class. Hal ini tentu saja berguna untuk mengurangi penulisan kode yang berulang.


Trait ini sendiri menurut saja mirip fungsinya dengan Helper yang telah saya jelaskan pada artikel sebelumnya.

Baca juga :

Saya pribadi lebih menyukai penggunaan dengan Helper karena function pada Helper yang saya buat dapat dipanggil juga pada view sedangkan sistem Trait ini hanya memungkinkan function tersebut dipanggil melalui Controller saja.

Mungkin pemahaman saya mengenai Trait ini cukup kurang dikarenakan saya pribadi tidak pernah menerapkannya dalam pemrograman yang sesungguhnya. Pilihan Trait atau Helper ini sesuaikan saja dengan kebutuhan program yang anda buat. Selamat mencoba

Related Posts

Post a Comment