Perbedaan include dan include once di PHP


Fungsi include() dan include_once() memang memiliki fungsi yang hampir sama. Namun ada perbedaan mendasar dari kedua fungsi tersebut:

  • include() bisa memanggil file yang sama untuk beberapa kali.
  • include_once() hanya akan memanggil file yang sama SEKALI saja.

Arrhh… memangnya kenapa artikel seperti ini sampai ditulis? Bukannya dari dulu memang seperti itu? Jangan salah.. :D di inbox email dan sms saya sudah ada 8 orang yang menanyakan hal ini ^^”  kebanyakan merasa kurang jelas dengan contoh yang sudah bertebaran di Internet. Rata-rata dari mereka tidak melihat adanya perbedaan dari contoh-contoh tersebut.

“Dari contoh-contoh yang gw temukan,. kelihatannya sama ajah…”

Begitu kira-kira komentar para penanya. Nah, kali ini, saya akan memberikan contoh yang sangat -sangat sederhana yang akan menunjukkan perbedaan kedua fungsi tersebut.

Contoh Sederhana

Buatlah 3 buah file php dengan nama index.php, include.php, include_once.php dengan code sebagai berikut:

Nama File: index.php

1 <?PHP
2 include("include.php");
3 include("include.php");
4 include("include.php");
5 include_once("include_once.php");
6 include_once("include_once.php");
7 include_once("include_once.php");
8 ?>

Nama File: include.php

1 <?PHP
2 echo "Saya include!<br>";
3 ?>

Nama File: include_once.php

1 <?PHP
2 echo "Saya include_once!<br>";
3 ?>

Output

Ketika index.php dipanggil, maka output yang didapat adalah:

Saya include!
Saya include!
Saya include!
Saya include_once!

Terlihat khan bedanya?

include.php dan include_once.php sama-sama dipanggil 3 KALI di file index.php. Pesan “Saya include!” yang ada pada include.php keluar 3 KALI, tapi pesan “Saya include_once!” yang ada pada include_once.php hanya tampil sekali, karena pemanggilan kedua dan seterusnya untuk nama file yang sama dengan fungsi include_once() akan diabaikan.

Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: