Apa itu Magic Constant ?
Apa itu magic constant ? magic constant adalah Predefined (siap pakai) konstanta yang memiliki fungsi khusus atau ajaib. Contohnya, value dari Magic constant __LINE__ tergantung dari line dimana script tersebut diletakan.
Cara penulisan magic constant dimulai dari 2 underscore atau garis bawah (_) dan diakhiri dengan 2 underscore pula. Pada artikel kali ini kita akan membahas jenis-jenis magic constant dan contohnya.
Magic Constant Kode __LINE__
Konstanta ini akan berisi sebuah nilai yang menyatakan nomer baris saat itu.
Contoh :
![apa itu magic constant](https://www.techfor.id/wp-content/uploads/2021/03/1-10.png)
Output :
![apa it umagic constant](https://www.techfor.id/wp-content/uploads/2021/03/2-12.png)
Mengapa outputnya line number 9,10 dan 11 ? karena pada text editor perintah __LINE__ digunakan pada line 9,10, dan 11.
![](https://www.techfor.id/wp-content/uploads/2021/03/3-12.png)
__FILE__
Special Constant __FILE__
Konstanta ini akan berisi
alamat lengkap (path) dari file PHP. Jika digunakan di dalam “Include” , nama
dari included file nya pun akan ikut disertakan.
Contoh :
![](https://www.techfor.id/wp-content/uploads/2021/03/4-11.png)
Output :
![](https://www.techfor.id/wp-content/uploads/2021/03/5-9.png)
Outputnya berdasarkan dimana letak magic.php disimpan desktop kamu.
__DIR__
Hampir sama dengan konstanta __FILE__
, konstanta __DIR__
akan berisi alamat direktori dari file PHP.
![](https://www.techfor.id/wp-content/uploads/2021/03/6-5.png)
Output :
![](https://www.techfor.id/wp-content/uploads/2021/03/7-4.png)
__FUNCTION__
Konstanta __FUNCTION__ ini akan berisi nama fungsi.
Contoh :
![](https://www.techfor.id/wp-content/uploads/2021/03/8-3.png)
Outputnya :
![](https://www.techfor.id/wp-content/uploads/2021/03/9-3.png)
__CLASS__
Konstanta __CLASS__ akan berisi nama dari class.
Contoh :
![](https://www.techfor.id/wp-content/uploads/2021/03/10-2.png)
Output :
![](https://www.techfor.id/wp-content/uploads/2021/03/11-1.png)
__METHOD__
Konstanta __METHOD__sama seperti konstanta __FUNCTION__ .Ia akan berisi nama method dan class tempat ia digunakan.
Contoh :
![](https://www.techfor.id/wp-content/uploads/2021/03/12-1.png)
Output :
![](https://www.techfor.id/wp-content/uploads/2021/03/13-1.png)
__NAMESPACE__
Konstanta __NAMESPACE__akan berisi nama namespace
Contoh :
![](https://www.techfor.id/wp-content/uploads/2021/03/14-1.png)
Output :
![](https://www.techfor.id/wp-content/uploads/2021/03/15-1.png)
Masing-masing konstanta memiliki tugas tersendiri. Isi dari magic constants akan selalu berubah, tergantung di mana ia digunakan.
Sumber : tutorialrepublic.com