Tutorial ini akan memandu Anda dalam membuat library kustom di CodeIgniter, yang berguna untuk mengelompokkan fungsionalitas terkait ke dalam satu kelas yang dapat digunakan kembali di seluruh aplikasi Anda.
Langkah 1: Persiapan
Pertama, buat sebuah file baru di direktori application/libraries/. Nama file harus diawali dengan huruf besar, sama seperti nama class-nya.
Sebagai contoh, kita akan membuat library sederhana untuk menghitung usia. Buat file HitungUsia.php di dalam folder tersebut.
Langkah 2: Membuat Class Library
Di dalam file HitungUsia.php, ketik kode berikut:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class HitungUsia {
public function hitung($tanggal_lahir) {
$ci =& get_instance(); // Akses super object CodeIgniter
$ci->load->helper('date');
$tanggal_lahir = new DateTime($tanggal_lahir);
$hari_ini = new DateTime('today');
$usia = $tanggal_lahir->diff($hari_ini);
return $usia->y;
}
public function format_usia($tanggal_lahir) {
$ci =& get_instance();
$ci->load->helper('date');
$tanggal_lahir = new DateTime($tanggal_lahir);
$hari_ini = new DateTime('today');
$usia = $tanggal_lahir->diff($hari_ini);
return $usia->y . ' tahun, ' . $usia->m . ' bulan, dan ' . $usia->d . ' hari';
}
}
Penjelasan Kode
class HitungUsia { ... }: Kita membuat class dengan nama yang sama persis dengan nama file (HitungUsia.php).$ci =& get_instance();: Ini adalah cara untuk mengakses super object CodeIgniter di dalam library kustom. Dengan ini, kita bisa memuat helper, library lain, atau mengakses resource CodeIgniter lainnya dari dalam library kita.$this->load->helper('date');: Karena kita membutuhkan tanggal, kita bisa memuat helperdatedi sini.public function hitung($tanggal_lahir): Metode pertama ini akan menghitung dan mengembalikan usia dalam tahun saja.public function format_usia($tanggal_lahir): Metode kedua ini akan mengembalikan usia dalam format yang lebih rinci (tahun, bulan, dan hari).
Langkah 3: Menggunakan Library di Controller
Sekarang, kita akan menggunakan library yang telah kita buat di controller. Buat sebuah controller di application/controllers/ dengan nama Pengguna.php.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Pengguna extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->library('HitungUsia'); // Memuat library kustom kita
}
public function index() {
$tanggal_lahir = '1995-12-25';
$data['usia_tahun'] = $this->hitungusia->hitung($tanggal_lahir);
$data['usia_lengkap'] = $this->hitungusia->format_usia($tanggal_lahir);
$this->load->view('tampilan_pengguna', $data);
}
}
Penjelasan Kode
$this->load->library('HitungUsia');: Baris ini memuat library kustom yang telah kita buat. CodeIgniter akan secara otomatis membuat sebuah object dari classHitungUsiadan menyimpannya di$this->hitungusia.$this->hitungusia->hitung($tanggal_lahir);: Kita bisa langsung memanggil metode dari library kita. Nama object secara default akan menjadi versi huruf kecil dari nama class-nya (HitungUsiamenjadihitungusia).
Langkah 4: Menampilkan Hasil di View
Terakhir, buat view di application/views/ dengan nama tampilan_pengguna.php untuk menampilkan hasilnya.
<!DOCTYPE html>
<html>
<head>
<title>Informasi Pengguna</title>
</head>
<body>
<h1>Informasi Pengguna</h1>
<p>Tanggal Lahir: 1995-12-25</p>
<p>Usia (Tahun): <?php echo $usia_tahun; ?></p>
<p>Usia (Lengkap): <?php echo $usia_lengkap; ?></p>
</body>
</html>
Selesai!
Sekarang Anda dapat mengakses http://localhost/nama_proyek/index.php/pengguna dan melihat hasil dari library yang telah Anda buat sendiri. Ini adalah cara yang efektif untuk mengorganisasi kode yang sering digunakan agar lebih bersih dan mudah dikelola.