PHP : Include dan Require File

Including File PHP ke File PHP yang lain

Pernyataan include() dan require() memungkinkan kalian untuk memasukkan kode yang terkandung dalam file PHP ke dalam file PHP yang lain. Including file menghasilkan hasil yang sama dengan menyalin skrip dari file yang ditentukan dan disisipkan ke lokasi di mana ia dipanggil.

Kalian dapat menghemat banyak waktu dan bekerja dengan including file —- Simpan saja blok kode dalam file terpisah dan sertakan di mana pun kalian ingin menggunakan pernyataan include() dan require() sebagai ganti mengetik seluruh blok kode beberapa kali. Contoh yang umum adalah termasuk file header, footer dan menu di semua halaman situs web.

Sintaks dasar pernyataan include() dan require() dapat diberikan dengan:

include("path/to/filename"); -Or- include "path/to/filename";
require("path/to/filename"); -Or- require "path/to/filename";

Contoh berikut akan menunjukkan kepada kalian bagaimana memasukkan kode header, footer dan menu yang disimpan dalam file ‘header.php’, ‘footer.php’ dan ‘menu.php’ masing-masing secara terpisah, di semua halaman situs web kalian. Dengan menggunakan teknik ini, kalian dapat memperbarui semua halaman situs web sekaligus dengan membuat perubahan hanya pada satu file, ini menghemat banyak waktu pekerjaan yang berulang.

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Tutorial Republic</title>
</head>
<body>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Welcome to Our Website!</h1>
    <p>Here you will find lots of useful information.</p>
<?php include "footer.php"; ?>
</body>
</html>
Perbedaan Antara Pernyataan Include dan Require

Kalian mungkin berpikir jika kita dapat memasukkan file menggunakan pernyataan include() lalu mengapa kita perlu require(). Biasanya pernyataan require() beroperasi seperti include().

Satu-satunya perbedaan adalah – pernyataan include() hanya akan menghasilkan peringatan PHP tetapi mengizinkan eksekusi skrip untuk melanjutkan jika file yang akan dimasukkan tidak dapat ditemukan, sedangkan pernyataan require() akan menghasilkan fatal error dan menghentikan eksekusi skrip.

<?php require "my_variables.php"; ?>
<?php require "my_functions.php"; ?>
<!DOCTYPE html>
<html lang="en">
<head>
    <title><?php displayTitle($home_page); ?></title>
</head>
<body>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Welcome to Our Website!</h1>
    <p>Here you will find lots of useful information.</p>
<?php include "footer.php"; ?>
</body>
</html>
Pernyataan include_once dan require_once

Jika kalian secara tidak sengaja memasukkan file yang sama (biasanya file fungsi atau kelas) lebih dari satu kali dalam kode kalian menggunakan pernyataan include atau require, itu dapat menyebabkan konflik. Untuk mencegah situasi ini, PHP memberikan pernyataan include_once dan require_once. Pernyataan-pernyataan ini berjalan dengan cara yang sama seperti pernyataan include dan require dengan satu pengecualian.

Pernyataan include_once dan require_once hanya akan menyertakan file sekali bahkan jika diminta untuk memasukkannya kedua kali yaitu jika file yang ditentukan telah dimasukkan dalam pernyataan sebelumnya, maka file tidak disertakan lagi. Untuk lebih memahami cara kerjanya, mari lihat contoh. Misalkan kita memiliki file ‘my_functions.php’ dengan kode berikut:

<?php
function multiplySelf($var){
    $var *= $var; // multiply variable by itself
    echo $var;
}
?>

Berikut ini adalah skrip PHP tempat kita menyertakan file ‘my_functions.php’.

<?php
// Including file
require "my_functions.php";
// Calling the function
multiplySelf(2); // Output: 4
echo "<br>";
 
// Including file once again
require "my_functions.php";
// Calling the function
multiplySelf(5); // Doesn't execute
?>

Ketika kalian menjalankan skrip di atas, kalian akan melihat pesan error seperti ini: “Fatal error: Cannot redeclare¬† multiplySelf(). Ini terjadi karena ‘my_functions.php’ termasuk dua kali, ini berarti fungsi multiplySelf() didefinisikan dua kali, yang menyebabkan PHP menghentikan eksekusi skrip dan menghasilkan fatal error. Sekarang tulis ulang contoh di atas dengan require_once.

<?php
// Including file
require_once "my_functions.php";
// Calling the function
multiplySelf(2); // Output: 4
echo "<br>";
 
// Including file once again
require_once "my_functions.php";
// Calling the function
multiplySelf(5); // Output: 25
?>

Seperti yang kalian lihat, dengan menggunakan require_once sebagai ganti require, skrip akan berfungsi seperti yang kita harapkan.