Bagi yang beralih dari PHP 4.x ke PHP 5.x mungkin pernah menjumpai peringatan seperti ini:
Notice: Use of undefined constant mod – assumed ‘mod’ in /var/www/blogsaya/index.php on line 7
atau seperti ini:
Notice: Undefined index: mod in /var/www/blogsaya/index.php on line 7
atau seperti ini:
Notice: Undefined variable: mod in /var/www/blogsaya/index.php on line 8
Ketiganya hanyalah pesan peringatan (notice), bukan kesalahan (error). Namun nampak tidak elegan jika pesan seperti itu muncul di halaman website kita. Untuk menyembunyikan pesan peringatan tersebut cukup dengan menambahkan sebaris kode berikut di bagian paling awal kode PHP.
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
Kode tersebut hanya akan menyembunyikan semua pesan peringatan level Notice dan Warning yang muncul, pesan kesalahan yang lain, misal error, tetap muncul.
Namun tentu saja menyembunyikan pesan peringatan bukan solusi yang baik. Notice message tersebut muncul karena penanganan register global di PHP 5.x yang sedikit berbeda dengan PHP 4.x, dan juga ada variable atau konstanta yang tidak diinisialisasi sebelum digunakan. Pelanggaran yang umum dalam bahasa pemrograman PHP tetapi penegakan hukumnya kurang ketat.
Perhatikan contoh berikut:
$_POST[‘mod’] ada isinya, maka $_POST['mod']
akan disalin ke $mod
, jika tidak maka $mod
akan berisi string kosong.
Tulisan ini adalah kategori baru yang ingin saya catat di blog, yaitu tentang troubleshooting (penyelesaian masalah) dalam pemrograman. Troubleshooting adalah salah satu aspek paling penting dalam mempelajari bahasa pemrograman apapun.
Leave a Reply