Ini salah satu kesalahan simple yang mungkin masih sering terjadi. Di contoh ini, terjadi duplikasi pemanggilan suatu nama fungsi.
Nama script : header.php
define ("PHPVERSION", floor(phpversion()));
function welcome() {
return "Welcome...!!";
}
?>
Nama script : title.php
require ("header.php");
function showVar($var) {
if (PHPVERSION == 4) {
print_r ($var);
} else {
var_dump ($var);
}
}
?>
Jika script title.php dipanggil, tidak akan ada kesalahan. Tetapi jika dibuat lagi script seperti berikut :
Nama script : error.php
require ("header.php");
require ("title.php");
?>
Hasil eksekusi dari script error.php akan menampilkan pesan kesalahan yang kurang lebih berbunyi "Fatal error : Cannot redeclare welcome() in D:\...\header.php".
Kesalahan ini timbul karena dalam error.php kita memanggil header.php dan juga memanggil title.php,
dimana title.php sendiri juga memanggil header.php.
Jadi fungsi welcome() dalam header.php akan dideklarasikan sebanyak 2 kali.
Untuk memperbaiki kesalahan di atas sebenarnya sangat mudah, kita hanya perlu mengganti perintah require ("header.php") dalam script title.php menjadi require_once ("header.php"). Perintah require_once ini akan mencegah deklarasi ulang terhadap sebuah fungsi yang sudah dideklarasikan sebelumnya.
0 comments:
Post a Comment