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.

 

Web hosting murah dan bagus