Sunday, October 19, 2008

Source code error...(just a simple example)


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: