Cara Membuat Library atau Class Sendiri dalam Laravel 5.x

Membuat library atau sebuah class sendiri dengan Laravel bertujuan agar memudahkan programmer dalam menggunakan ulang fungsi-fungsi yang sering dipakai (reuseable). Sekumpulan fungsi yang sudah dibuat dalam sebuah library Laravel, bisa digunakan pada seluruh aplikasi atau dicopy untuk digunakan pada proyek Laravel lainnya.

Cara membuat library pada Laravel sangat mudah. Langkah-langkahnya adalah sebagai berikut:

Membuat File Library

Buatlah sebuah sub folder baru di dalam folder app, misalnya diberi nama Lib. Kemudian di dalam folder Lib buatlah sebuah file sesuai keinginan anda. Dalam contoh di tulisan ini kita sedang membuat sebuah library bernama Mahasiswa, maka buatlah sebuah file bernama Mahasiswa.php.

Di dalam file Mahasiswa.php, buatlah class, property dan method sesuai keperluan anda. Contoh di sini kita membuat method untuk mendapatkan grade sebuah nilai mahasiswa. Maka isi librarynya adalah sebagai berikut:

<?php
// Buat namespace sesuai folder
namespace App\Lib;
 
class Mahasiswa {
    // Sebuah method untuk mencari grade
    public static function GradeNilai($nilai) {
        $tabel = array(
            'A' => [85, 101],
            'B' => [75, 85],
            'C' => [65, 75],
            'D' => [55, 65],
            'E' => [0, 55],
        );
 
        foreach ($tabel as $grade => $batas) {
            if ($nilai >= $batas[0] and
                $nilai < $batas[1]) {
                return $grade;
            }
        }
    }
}

Cara Menggunakan Library

Sekarang library ini bisa digunakan pada sebuah controller yang sudah kita buat dengan menggunakan perintah use, diikuti dengan nama namespace dan nama librarynya. Contohnya adalah seperti ini:

<?php
 
namespace App\Http\Controllers;
 
// Gunakan library yang sudah dibuat
use App\Lib\Mahasiswa;
 
class TestingController extends Controller {
 
    public function index() {
        // Contoh memanggil method pada class Mahasiswa 
 
        $nilai = 75;
        echo "Nilai $nilai, grade: ".Mahasiswa::GradeNilai($nilai)."<br/>";
 
        $nilai = 67;
        echo "Nilai $nilai, grade: ".Mahasiswa::GradeNilai($nilai)."<br/>";
 
        $nilai = 30;
        echo "Nilai $nilai, grade: ".Mahasiswa::GradeNilai($nilai);
    }
}

Testing

Coba buka controller yang sudah dibuat pada browser anda, kalau pembuatan library dan controller sudah benar maka akan melihat hasilnya seperti gambar di bawah ini:

Selesai

Membuat class atau library di Laravel dapat dilakukan hanya dengan dua langkah, yaitu membuat class di folder app dan kemudian menggunakannya di controller dengan perintah use. Mudah dan praktis bukan? Selamat mencoba dan mempraktekkan dalam proyek-proyek anda.

Topik yang sedang hot:


Cara Integrasi CodeIgniter dengan Library Template TWIG



CodeIgniter adalah framework yang ringan dan cepat, namun CodeIgniter tidak memiliki template engine yang lengkap seperti Blade pada Laravel. Namun demikian hal ini tidak menjadi persoalan, karena CodeIgniter bisa menggunakan template engine dari vendor lain (third-party), salah satunya adalah template engine TWIG.

TWIG adalah template engine yang cepat, aman dan fleksibel, dengan menggunakan TWIG kita tidak perlu menuliskan kode-kode PHP pada sebuah view di CodeIgniter. Cukup dengan menuliskan kode-kode yang disediakan TWIG, maka sebuah template dapat melakukan perulangan, mengubah format string, menyisipkan sub-template dan sebagainya (serupa dengan Blade pada Laravel). Untuk lebih jelasnya mengenai template engine TWIG, silahkan membaca di website resmi TWIG.

Cara Mengintegrasikan CodeIgniter dengan TWIG

Untuk dapat menggunakan CodeIgniter dengan TWIG, silahkan melakukan langkah-langkah sebagai berikut:

Download library TWIG di https://github.com/twigphp/Twig/releases , pilih yang versi v1.x , kemudian ekstrak dan taruh di dalam folder application/third_party

Download library CodeIgniter untuk TWIG di https://github.com/kenjis/codeigniter-ss-twig/releases kemudian ekstrak dan copy codeigniter-ss-twig/libraries/Twig.php ke dalam folder application/libraries

Buka file application/libraries/Twig.php dan hilangkan tanda comment (/* */) pada bagian atas dan bawah baris ini:

...
 
require_once APPPATH . 'third_party/Twig-1.xx.x/lib/Twig/Autoloader.php';
Twig_Autoloader::register();
 
...

Catatan: Sesuaikan Twig-1.xx.xx dengan nama folder instalasi TWIG anda.

Cara Menggunakan CodeIgniter dengan TWIG

Buatlah sebuah controller CodeIgniter dengan isi seperti ini:

class Demo extends CI_Controller {
 
    public function twig() {
        // load library Twig
        $this->load->library('twig');
 
        // contoh data
        $data["bahasa"] = ["Pascal","Basic","C/C++","Assembler","Cobol",
                           "Clipper","PHP","Python","Arduino"];
 
        // tampilkan template Twig + data
        $this->twig->display('demo', $data);
    }
 
}

Kemudian buatlah sebuah file contoh template utama dengan nama application/view/layout.twig:

(Referensi mengenai kode-kode template TWIG bisa dibaca di dokumentasi TWIG.

<!DOCTYPE html>
<html>
    <head>
        {% block head %}
            <title>{% block title %}{% endblock %}</title>
            <style>
                * { font-family: arial, sans-serif;}
                #footer { padding:20px; background:#eee; }
            </style>
        {% endblock %}
    </head>
    <body>
        <div id="content">{% block content %}{% endblock %}</div>
        <div id="footer">
            {% block footer %}
                Dibuat oleh <a href="http://blog.duniahost.com">http://blog.duniahost.com</a>
            {% endblock %}
        </div>
    </body>
</html>

Buatlah juga template lain yang berisi content halaman dengan nama application/view/demo.twig:

{% extends "layout.twig" %}
 
{% block title %}Demo CodeIgniter dan Twig{% endblock %}
{% block head %}
    {{ parent() }}
    <style type="text/css">
        li { color: red; padding: 2px; }
    </style>
{% endblock %}
{% block content %}
    <h1>Demo CodeIgniter & Twig</h1>
    <p>Bahasa pemrograman yang saya pelajari adalah:</p>
    <ul>
        {% for bhs in bahasa %}
            <li>{{ bhs|e }}</li>
        {% endfor %}
    </ul>
{% endblock %}

(Terlihat pada kedua file template di atas tidak ada pencantuman kode PHP, melakukan perulangan dan menyisipkan sub-template cukup dilakukan dengan menuliskan kode-kode template saja.)

Silahkan buka browser dan buka controller anda. Bila instalasi TWIG yang anda lakukan sudah benar, maka akan muncul halaman seperti ini:

Demikian cara mengintegrasikan CodeIgniter dengan template engine TWIG, ternyata menggunakan template engine TWIG pada CodeIgniter cukup mudah, langkah selanjutnya anda tinggal memperdalam fitur-fitur dan kode-kode template pada TWIG agar penggunaannya lebih maksimal.

Semoga dengan menggunakan template engine TWIG dapat membantu mempercepat pengerjaan proyek dan lebih produktif lagi dengan CodeIgniter. Selamat mencoba.

 

Topik yang sedang hot: