Artikel ini membahas tentang bagaimana cara mengintegrasikan Codeigniter 3.1.11 dengan Blade Template Engine.
Blade Template Engine (selanjutnya disebut Blade saja) merupakan salah satu fitur templating di Framework Laravel. Fitur ini memungkin programmer untuk mengatur tampilan website secara lebih dinamis dan efektif sehingga tampilan file view menjadi lebih bersih dan rapi dibandingkan dengan cara tradisional. Codeigniter merupakan salah satu framework PHP yang mudah dan memiliki banyak pengembang di dunia. Namun, framework ini tidak memiliki template engine seperti halnya Laravel. Oleh karen itu, pada artikel ini, saya ingin membuat dokumentasi bagaimana mengintegrasikan Codeigniter 3.1.11 dengan Blade agar framework ini dapat bekerja lebih maksimal dan dinamis.
Bahan-bahan yang dibutuhkan dalam tutorial ini sebagai berikut:
- Codeigniter 3.1.11
- Blade template engine --> download di sini
Sebelumnya, saya biasa menggunakan library template Blade dari Jensseger/Blade. Namun, saya melihat bahwa proses instalasi library ini cukup rumit dan masih bergantung pada library milih Laravel. Namun, saya menemukan library sejenis yang lebih sederhana dan stand-alone, artinya tidak bergantung pada Laravel sebagai induknya. Library tersebut adalah BladeOne dari Eftect/BladeOne. Walaupun menginduk pada Blade, BladeOne memiliki beberapa perbedaan dan kelebihan dibandingkan Blade itu sendiri. Misalnya, BladeOne menghapus ekstensi Laravel, dependensi kepada class lain dihapus (sekitar 30 class), engine template ini berdiri sendiri, Setter dan Getter dihapus dan diganti dengan gaya PHP, serta BladeOne tidak mendukung static call dan x-template (referensi).
Sebagai catatan, artikel ini merupakan lanjutan dari artikel sebelumnya yang mengintegrasikan Codeigniter 3.1.11 dengan Eloquet ORM sehingga beberapa script masih memuat progres-progres sebelumnya.
Integrasi Codeigniter dan Blade Template Engine
Berikut ini adalah langkah-langkah mengintegrasikan Codeigniter 3.1.11 dengan Blade Template Engine versi BladeOne:
Step 1: Konfigurasi Composer.json
Pada tahap pertama, kamu harus menambahkan library container dan eftect/bladeone itu sendiri. Library BladeOne ini akan menjadi engine untuk memproses templating nantinya. Setelah menambahkan kedua baris tersebut, langkah selanjutnya adalah melakukan update pada composer dengan perintah "composer update" dan tunggu proses update tersebut selesai.
Step 2: Konfigurasi File Autoload.php
Setelah proses update composer.json selesai, tahap selanjutnya adalah melakukan konfigurasi minor pada file autoload.php, khususnya pada bagian helper. Tambahkan item "blade" pada autoload helper agar berkas ini dieksekusi secara otomatis saat aplikasi pertama kali dijalankan.
Step 3: Buat File Blade_helper.php
Blade telah diinputkan sebagai bagian dari helper yang akan diload saat aplikasi dijalankan atau di-refresh. Pada langkah ini, buatlah file bernama blade_helper di folder application/helpers dan masukkan script berikut di dalamnya! BladeOne belum memiliki situs sendiri untuk mendokumentasikan fitur-fiturnya, tidak seperti Twig. Namun, library ini sangat sederhana sehingga mudah dipahami dan digunakan.
Step 4: Konfigurasi Controller
Untuk menggunakan template engine blade tersebut, kamu harus menggunakan perintah khusus, seperti return blade('pegawai', $data). Script blade ini akan dipanggil dari file helper blade_helper.php, sementara script pegawai merupakan nama file view yang dipanggil. Perlu dicatat bahwa nama file harus berekstensi blade.php, seperti pegawai.blade.php, mahasiswa.blade.php, dan seterusnya. Script $data merupakan data array yang biasanya berisi data-data yang dikirimkan dan ingin ditampilkan dalam file view.
Step 5: Buat File Pegawai.blade.php
Setelah tahap membuat file controller untuk memanggil dan mengirimkan data ke file view yang diiginkan, kamu harus membuat file view-nya. Pada kasus ini, saya membuat sebuah file bernama pegawai.blade.php untuk menampilkan data pegawai dari database. Seperti yang bisa dilihat, script pada file ini menggunakan template engine Blade seperti biasa.
![[feature] Designed by upklyak / Freepik Designed by upklyak / Freepik](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6h0Z93IjEaPDfm-I-WrWfIYE58w-NRM75BbO4ybIRlgOHCWfiS3wre9IX5UI5YRRNwm1wrTeZSDf9dRTAgU8QPAKc7jSbwfqTWO37N1IWYfOpycF7FRkaXKsj9M2yqMLASeF2eYspyLXf/w400-h200/18824957.jpg)





COMMENTS