Helper Functions
Saat membuat website, kamu akan sering menggunakan kode yang sama berulang-ulang. Misalnya: memformat angka menjadi Rupiah, atau mengubah format tanggal dari database (2026-04-08) menjadi format bahasa Indonesia yang mudah dibaca (08 April 2026).
Daripada menulis kode yang sama di setiap halaman, praktik terbaiknya adalah membuat kumpulan fungsi bantuan (Helper Functions) agar kodemu lebih bersih (Prinsip DRY: Don't Repeat Yourself).
1. Membuat File helpers.php
Buat sebuah file baru bernama helpers.php di dalam folder config atau folder khusus includes.
<?php
// file: config/helpers.php
// Pastikan session sudah dimulai (Berguna untuk fungsi Flash Message nanti)
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
/**
* Memformat angka menjadi format Rupiah
* Contoh: 1500000 -> Rp 1.500.000
*/
function format_rupiah($angka) {
return "Rp " . number_format($angka, 0, ',', '.');
}
/**
* Memformat tanggal MySQL ke bahasa Indonesia
* Contoh: 2026-04-08 -> 08 April 2026
*/
function format_tanggal($tanggal_db) {
// Jika kosong
if (empty($tanggal_db)) return '-';
$bulan_indo = [
1 => 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni',
'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'
];
// Ubah string tanggal jadi timestamp lalu ekstrak bagian-bagiannya
$waktu = strtotime($tanggal_db);
$tanggal = date('d', $waktu);
$bulan = $bulan_indo[(int)date('m', $waktu)];
$tahun = date('Y', $waktu);
return "$tanggal $bulan $tahun";
}
/**
* Membersihkan input string dari bahaya XSS (Cross Site Scripting)
*/
function bersihkan_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
/**
* Redirect praktis untuk menghentikan eksekusi dan pindah halaman
*/
function redirect($url) {
header("Location: $url");
exit;
}
2. Cara Menggunakan Helper
Sekarang, di file lain (misalnya index.php), kamu tinggal meng-include file helper tersebut setelah koneksi database.
<?php
require 'config/database.php';
require 'config/helpers.php'; // Panggil helper di sini!
$harga_baju = 150000;
$tanggal_beli = '2026-04-08 14:30:00';
?>
<!DOCTYPE html>
<html>
<body>
<!-- Memanggil Helper di HTML -->
<p>Harga Baju: <?= format_rupiah($harga_baju) ?></p>
<p>Dibeli pada: <?= format_tanggal($tanggal_beli) ?></p>
<?php
// Contoh penggunaan Helper di proses form
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Membersihkan input secara instan!
$nama = bersihkan_input($_POST['nama']);
// Proses simpan ke database (ilustrasi)...
// $stmt->execute([$nama]);
// Redirect praktis setelah sukses
redirect('sukses.php');
}
?>
</body>
</html>
3. Fitur Rahasia: Flash Message (Pesan Notifikasi)
Flash message adalah pesan yang muncul satu kali saja (misal: "Data berhasil disimpan!"), dan akan otomatis hilang jika halaman di-refresh. Fitur ini sangat berguna untuk aplikasi CRUD!
Tambahkan fungsi ini ke dalam file helpers.php kamu:
// --- Tambahkan ini di dalam helpers.php ---
/**
* Fungsi untuk MENYIMPAN pesan ke dalam session
* $tipe = 'success', 'error', 'warning', dll
*/
function set_flash($tipe, $pesan) {
$_SESSION['flash'] = [
'tipe' => $tipe,
'pesan' => $pesan
];
}
/**
* Fungsi untuk MENAMPILKAN pesan (dan langsung menghapusnya dari session)
*/
function tampil_flash() {
if (isset($_SESSION['flash'])) {
$flash = $_SESSION['flash'];
// Tampilkan elemen HTML sesuai tipe
// (Bisa disesuaikan dengan class CSS yang kamu pakai)
echo "<div class='alert alert-{$flash['tipe']}'>
{$flash['pesan']}
</div>";
// Hapus pesan agar tidak muncul lagi saat direfresh
unset($_SESSION['flash']);
}
}
Cara Pakai Flash Message di CRUD
Di file proses-tambah.php (Setelah sukses simpan ke Database):
<?php
require 'config/helpers.php';
// ... proses eksekusi database sukses ...
// 1. Set pesan flash
set_flash('success', 'Hore! Data berhasil ditambahkan.');
// 2. Redirect ke daftar produk
redirect('index.php');
Di file index.php (Halaman Tampilan Data):
<?php require 'config/helpers.php'; ?>
<body>
<h1>Daftar Produk</h1>
<!-- Pesan akan muncul otomatis di sini jika ada -->
<?php tampil_flash(); ?>
<table>
<!-- Isi tabel data -->
</table>
</body>
Membuat file Helper akan membuat kamu coding lebih cepat, kode kamu lebih profesional, dan menghindari duplikasi kode yang membosankan!