aldiunanto.com

Simbol @ pada PHP

Simbol @ pada PHP - Aldi Unanto

Pernahkah kalian menemukan simbol ‘@’ di dalam sebuah kode PHP? Salah satunya di sebuah file ini yang pernah saya temui, file bernama Common.php yang merupakan salah satu core dari framework CodeIgniter. Berikut potongan kodenya:

Perhatikan simbol ‘@’ yang digunakan tepat di depan penggunaan fungsi bernama fopen(), chmod(), dan unlink(). Lalu apa sebenarnya tujuan dari penggunaan simbol tersebut?

 

Error ‘shut-up’ operator

Mengapa disebut demikian? terlalu berlebihan? saya rasa tidak 😀 memang fungsinya seperti itu, yaitu untuk menghilangkan pesan error atau warning untuk sebuah kode yang diberi simbol ‘@’ tersebut.

Memang fungsinya hampir sama dengan error_reporting(0) namun sebenarnya berbeda. error_reporting(0) digunakan untuk menghilangkan pesan error yang muncul, namun sifatnya global atau dengan kata lain untuk file-file dimana error_reporting(0) tersebut digunakan.

Nah kalau simbol ‘@’ hanya untuk sebuah ekspresi. Apa itu ekspresi? jika anda tidak tahu ekspresi(di dalam kode tentunya) sebenarnya anda sudah sangat mengetahuinya daripada saya namun anda tidak tahu sebenarnya yang mana yang disebut ekspresi.

Singkatnya atau lebih tepatnya untuk menggambarkan apa itu ekspresi, yaitu ‘apapun yang memiliki sebuah nilai’. Contohnya variable, konstanta, hasil atau proses sebuah kalkulasi, fungsi, dan lain-lain. Untuk penjelasan lebih lengkapnya bisa locat ke link ini.

Lanjutt…..
Dengan kata lain, dengan menggunakan simbol ‘@’ ini di depan sebuah ekspresi, kita bisa menekan atau menghilangkan sebuah error atau warning yang kemungkinan akan dihasilkan. Hilang disini bukan berarti hilang secara utuh, sebenarnya masih ada namun sifatnya hidden. Dan juga jika error yang dihasilkan bersifat FATAL ERROR, maka halaman anda akan dipastikan white screen namun error tidak akan tampak.

 

Penggunaan

 

Contoh 1 :

Akan menghasilkan error karena echo bukan merupakan ekspresi

Contoh 2 :

Menghilangkan pesan warning -> “Warning: Division by zero”

Contoh 3 :

Menghilangkan notice -> “Notice: Undefined variable: i” dan
Menghilangkan warning -> “Warning: Division by zero

Contoh 4 :

Menghilangkan notice -> “Notice: Undefined index: a” dan “Notice: Undefined index: b

Contoh 5 :

Menghilangkan fatal error -> “Fatal error: Call to undefined function foobar()
Memang pesan error akan hilang, namun dapat dipastikan semua konten website anda juga pasti akan hilang karena ini merupakan fatal error.

 

Catatan

Simbol atau operator ‘@’ hanya bekerja untuk sesuatu yang disebut ekspresi. Mudahnya adalah, segala sesuatu di dalam sebuah kode yang bisa menghasilkan nilai, maka bisa ditambahkan operator error ‘shut-up’ ini, contohnya pada sebuah variable, fungsi, konstanta, dan lain sebagainya. Dan juga operator ini tidak bisa digunakan ketika mendefinisikan sebuah function atau class, serta untuk penggunaan syntax struktur seperti for, foreach, if, while, dan lain sebagainya.

Leave a Reply

%d bloggers like this: