Menu

Mengenal 9 Magic Constants di PHP yang Mungkin Sering Kamu Gunakan #07

Mengenal 9 Magic Constants di PHP yang Mungkin Sering Kamu Gunakan #07

 PHP memiliki banyak konstanta yang siap pakai (predefined), tanpa harus dibuat.

Konstanta adalah sebuah nilai yang tidak akan pernah berubah dan tidak bisa diubah.

Namun, ada 9 konstanta ajaib (magic constant) di PHP yang akan selalu berubah nilainya tergantung pada penggunaanya. 1

Apa saja itu?

Mari kita bahas…

1. Konstanta __LINE__

Konstanta ini akan berisi sebuah nilai yang menyatakan nomer baris saat itu.

Contoh:

<?php
echo "Ini beris pertama<br>";
echo "Ini baris ke: " . __LINE__."<br>";
echo "ini baruus ketiga<br>";
?>

Hasilnya:

Kenapa hasilnya 3?

Karena lokasi konstanta __LINE__ berada di baris ke-3. Ini bisa kita lihat dengan teks editor.


2. Konstanta __FILE__

Konstanta ini akan berisi alamat lengkap (path) dari file PHP.

Contoh:

<?php
echo "File ini berada di: " . __FILE__;
?>

Hasilnya:


3. Konstanta __DIR__

Hampir sama dengan konstanta __FILE__, konstanta __DIR__ akan berisi alamat direktori dari file PHP.

Contoh:

<?php
echo "File ini berada di direktori: " . __DIR__;
?>

Hasilnya:


Konstata __DIR__ biasanya digunakan untuk mengimpor file lain seperti ini:

<?php include __DIR__."/config.php"; ?>

4. Konstanta __FUNCTION__

Konstanta ini akan berisi nama fungsi.

Contoh:

<?php
function aku_lapar() {
    echo "Nama fungsi ini adalah: " . __FUNCTION__;
}

// panggil fungsi
aku_lapar();
?>

Hasilnya:


5. Konstanta __CLASS__

Konstanta __CLASS__ akan berisi nama dari class.

Contoh:

<?php
class ManusiaSerigala {

    function printClassName(){
        echo "Nama class adalah: ".__CLASS__;
    }
}

// membuat objek
$aku = new ManusiaSerigala();
$aku->printClassName();
?>

Hasilnya:


6. Konstanta __TRAIT__

Konstanta __TRAIT__ akan berisi nama trait dan namespace.

Contoh:

<?php
// membuat namespace
namespace Enemy;

// membuat trait
trait Makhluk {
    function printTrait() {
        echo "Nama Trait adalah: ".__TRAIT__;
    }
}

class ManusiaSerigala {

    use Makhluk;

}

// membuat objek
$aku = new ManusiaSerigala();
$aku->printTrait();
?>

Hasilnya:

Hasil Magic Constants TRAIT

7. Konstanta __METHOD__

Konstanta __METHOD__ sama seperti konstanta __FUNCTION__. Ia akan berisi nama method dan class tempat ia digunakan.

Contoh:

<?php
class ManusiaSerigala {

    function lari(){
        echo "ini adalah method: ".__METHOD__."<br>";
    }

    function lompat(){
        echo "ini adalah method: ".__METHOD__."<br>";
    }
}

// membuat objek
$aku = new ManusiaSerigala();
$aku->lari();
$aku->lompat();
?>

Hasilnya:

Hasil Magic Constants METHOD

8. Konstanta __NAMESPACE__

Konstanta __NAMESPACE__ akan berisi nama namespace.

Contoh:

<?php
// membuat namespace
namespace Enemy;

class ManusiaSerigala {

    function printNamaNamespace(){
        echo "Nama namespace adalah: ".__NAMESPACE__;
    }
}

// membuat objek
$aku = new ManusiaSerigala();
$aku->printNamaNamespace();
?>

Hasilnya:

Hasil Magic Constants NAMESPACE

9. Konstanta ClassName::class

Hampir sama seperi __TRAIT__, konstanta ClassName::class akan berisi nama class dan namespace.

Contoh:

<?php
namespace Makhluk {
    class ManusiaSerigala {
    }
    
    echo "Nama class adalah: ".ManusiaSerigala::class;
}
?>

Hasilnya:

Hasil Magic Constants ClassName::class

Akhir Kata…

Masing-masing konstanta memiliki tugas tersendiri. Isi dari magic constants akan selalu berubah, tergantung di mana ia digunakan.

Ada beberapa magic constants yang sering digunakan, ada juga yang jarang.

Manakah yang paling sering kamu gunakan?

Iklan Tengah Post

Ads middle content1

Ads middle content2