Dalam dunia pemrograman PHP, sering kali kita bekerja dengan banyak file yang saling terhubung. Alih-alih menuliskan kode panjang di satu file, developer biasanya membagi kode ke beberapa file agar lebih rapi, mudah diatur, dan dapat digunakan kembali. Nah, di sinilah fungsi include dan require menjadi sangat penting. Keduanya digunakan untuk memanggil file PHP lain ke dalam sebuah script, namun punya perbedaan yang cukup signifikan dalam cara kerja dan dampaknya.
Artikel ini akan membahas secara mendalam peran, perbedaan, serta praktik terbaik dalam menggunakan include dan require di PHP.
Kenapa Harus Memecah Kode dengan Include atau Require?
Bayangkan kamu sedang mengembangkan sebuah website dengan banyak halaman: beranda, tentang kami, kontak, dan artikel. Semua halaman tersebut memiliki struktur yang sama—header, sidebar, dan footer. Daripada menulis ulang bagian header dan footer di setiap file, lebih efisien jika kita menuliskannya sekali saja di satu file, lalu memanggilnya kembali menggunakan include atau require.
Pendekatan ini bukan hanya menghemat waktu, tetapi juga memudahkan perawatan kode. Misalnya, jika ada perubahan di bagian footer, kamu cukup mengubahnya di satu file saja tanpa harus mengedit puluhan halaman secara manual.
Apa Itu Include dalam PHP?
Include digunakan untuk menyertakan file lain ke dalam sebuah script PHP. Jika file yang dipanggil tidak ditemukan atau bermasalah, PHP hanya akan memberikan warning dan script utama tetap akan dijalankan.
Contoh sederhana:
<?php
include 'header.php';
echo "Selamat datang di website kami!";
include 'footer.php';
?>
Dalam contoh di atas, file header.php dan footer.php akan disisipkan ke dalam halaman utama. Jika misalnya header.php tidak ditemukan, PHP akan menampilkan pesan warning, tetapi baris echo tetap dijalankan.
Hal ini membuat include cocok digunakan untuk file yang tidak terlalu kritis bagi jalannya program, seperti iklan, widget tambahan, atau modul opsional lainnya.
Apa Itu Require dalam PHP?
Berbeda dengan include, require lebih “tegas”. Jika file yang dipanggil dengan require tidak ditemukan, PHP akan menghentikan seluruh eksekusi program dan menampilkan fatal error.
Contoh kode:
<?php
require 'config.php';
echo "Database berhasil terkoneksi!";
?>
Jika file config.php tidak ada atau bermasalah, script di atas akan berhenti total. Tidak ada baris berikutnya yang akan dijalankan.
Inilah mengapa require biasanya dipakai untuk file-file yang benar-benar penting, seperti konfigurasi database, file otentikasi, atau library inti aplikasi.
Include vs Require: Apa Bedanya?
Meskipun fungsinya sama-sama untuk menyertakan file, perbedaan utamanya terletak pada cara PHP menangani error:
- Include → hanya menampilkan warning, script tetap berjalan.
- Require → menampilkan fatal error, script berhenti total.
Dari sini bisa disimpulkan: gunakan include untuk file tambahan yang sifatnya opsional, dan gunakan require untuk file penting yang wajib ada agar aplikasi bisa berjalan dengan benar.
Include_once dan Require_once: Mencegah Duplikasi
Kadang, tanpa sadar kita memanggil file yang sama lebih dari sekali. Akibatnya, PHP bisa mengeksekusi kode berulang kali, yang berpotensi menimbulkan error—misalnya fungsi yang sudah didefinisikan dianggap duplikat.
Untuk mengatasi masalah ini, PHP menyediakan variasi include_once dan require_once.
Contoh penggunaan:
<?php
include_once 'functions.php';
require_once 'config.php';
?>
Perbedaannya:
- Jika file sudah dipanggil sekali, maka
include_onceataurequire_oncetidak akan memanggilnya lagi. - Hal ini memastikan tidak ada kode duplikat yang dijalankan dua kali.
Studi Kasus: Struktur Website dengan Include dan Require
Mari kita lihat contoh nyata bagaimana include dan require bekerja dalam sebuah website sederhana.
Struktur folder:
/website
|-- index.php
|-- about.php
|-- contact.php
|-- includes/
|-- header.php
|-- footer.php
|-- config.php
Isi header.php:
<!DOCTYPE html>
<html>
<head>
<title>Website Contoh</title>
</head>
<body>
<header>
<h1>Selamat Datang di Website Kami</h1>
</header>
Isi footer.php:
<footer>
<p>© 2025 Website Contoh</p>
</footer>
</body>
</html>
Isi config.php:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydb";
?>
Isi index.php:
<?php
require 'includes/config.php';
include 'includes/header.php';
?>
<main>
<p>Ini adalah halaman utama.</p>
</main>
<?php
include 'includes/footer.php';
?>
Dengan struktur ini, kita hanya menulis header dan footer sekali saja, lalu tinggal menyertakannya ke setiap halaman. Jika terjadi perubahan di footer, semua halaman otomatis ikut ter-update.
Risiko yang Harus Dihindari
Meskipun include dan require sangat berguna, ada beberapa hal yang perlu diperhatikan agar tidak menimbulkan masalah:
- Path file yang salah
Pastikan jalur file yang dipanggil sesuai dengan struktur folder. Jika salah, error akan muncul. - Menggunakan include pada file penting
Jika file krusial seperticonfig.phphanya di-include, ada risiko program tetap berjalan meski database tidak terkoneksi. Sebaiknya gunakan require untuk file seperti ini. - Pemanggilan berulang
Hindari memanggil file yang sama lebih dari sekali. Gunakaninclude_onceataurequire_onceuntuk mencegah error akibat duplikasi fungsi atau variabel. - Keamanan file
Jangan sembarangan meletakkan file konfigurasi di folder yang bisa diakses publik. Gunakan folder yang aman agar informasi sensitif (seperti password database) tidak terekspos.
Kapan Sebaiknya Menggunakan Include atau Require?
Tidak ada aturan baku yang kaku, tetapi ada beberapa pedoman praktis:
- Gunakan require/require_once untuk file yang sifatnya vital: konfigurasi, fungsi inti, sistem autentikasi, dan library utama.
- Gunakan include/include_once untuk file yang bersifat tambahan: template bagian tertentu, sidebar, widget, atau elemen yang bisa saja tidak terlalu berpengaruh jika hilang.
Dengan pemilihan yang tepat, website akan lebih stabil, aman, dan mudah dipelihara.
