Konstanta Magic

  • Post
    codeorayo
    Keymaster
    none
    Konstanta Magic adalah konstanta yang telah ditentukan sebelumnya dalam PHP yang dapat diubah berdasarkan penggunaannya. Mereka mulai dengan garis bawah ganda (__) dan berakhir dengan garis bawah ganda.

    Mereka mirip dengan konstanta yang telah ditentukan sebelumnya tetapi karena mereka mengubah nilai-nilai mereka dengan konteksnya, mereka disebut konstanta ajaib.

    Ada delapan konstanta magic yang didefinisikan dalam tabel di bawah ini. Mereka tidak bisa membedakan huruf besar-kecil dengan baik.

    __LINE__ =Merupakan nomor baris saat ini di mana ia digunakan.

    __FILE__ = Merupakan path lengkap dan nama file dari file tersebut. Jika digunakan di dalam sebuah include, nama file yang disertakan dikembalikan.

    __DIR__ = Merupakan path direktori lengkap dari file. Setara dengan dirname (__ file__). Ini tidak memiliki garis miring kecuali jika itu adalah direktori root. Ini juga menyelesaikan tautan simbolik.

    __FUNGSI__ = Merupakan nama fungsi tempat digunakannya. Jika digunakan di luar fungsi apa pun, maka itu akan kembali kosong.

    __CLASS__ = Merupakan nama kelas tempat digunakannya. Jika digunakan di luar fungsi apa pun, maka itu akan kembali kosong.

    __TRAIT__ = Merupakan nama sifat tempat digunakannya. Jika digunakan di luar fungsi apa pun, maka itu akan kembali kosong. Ini termasuk namespace yang dideklarasikan pada.

    __METHOD__= Merupakan nama metode kelas di mana ia digunakan. Nama metode dikembalikan seperti yang dinyatakan.

    __NAMESPACE__= Merupakan nama dari namespace saat ini.

    Contoh :

    Code:

    Example for __LINE__

    “;
    echo “You are at line number ” . __LINE__ . “

    “;// print Your current line number i.e;3
    echo “

    Example for __FILE__

    “;
    echo __FILE__ . “

    “;//print full path of file with .php extension
    echo “

    Example for __DIR__

    “;
    echo __DIR__ . “

    “;//print full path of directory where script will be placed
    echo dirname(__FILE__) . “

    “; //its output is equivalent to above one.
    echo “

    Example for __FUNCTION__

    “;
    //Using magic constant inside function.
    function cash(){
    echo ‘the function name is ‘. __FUNCTION__ . “

    “;//the function name is cash.
    }
    cash();
    //Using magic constant outside function gives the blank output.
    function test_function(){
    echo ‘HYIIII’;
    }
    test_function();
    echo __FUNCTION__ . “

    “;//gives the blank output.

    echo “

    Example for __CLASS__

    “;
    class abc
    {
    public function __construct() {
    ;
    }
    function abc_method(){
    echo __CLASS__ . “

    “;//print name of the class abc.
    }
    }
    $t = new abc;
    $t->abc_method();
    class first{
    function test_first(){
    echo __CLASS__;//will always print parent class which is first here.
    }
    }
    class second extends first
    {
    public function __construct() {
    ;
    }
    }
    $t = new second;
    $t->test_first();
    echo “

    Example for __TRAIT__

    “;
    trait created_trait{
    function abc(){
    echo __TRAIT__;//will print name of the trait created_trait
    }
    }
    class anew{
    use created_trait;
    }
    $a = new anew;
    $a->abc();
    echo “

    Example for __METHOD__

    “;
    class meth{
    public function __construct() {
    echo __METHOD__ . “

    “;//print meth::__construct
    }
    public function meth_fun(){
    echo __METHOD__;//print meth::meth_fun
    }
    }
    $a = new meth;
    $a->meth_fun();

    echo “

    Example for __NAMESPACE__

    “;
    class name{
    public function __construct() {
    echo ‘This line will be printed on calling namespace’;
    }
    }
    $clas_name= __NAMESPACE__ .’name’;
    $a = new $clas_name;
    ?>

    author : javatpoint

    Ampuh! Ini rahasia mengembangkan aplikasi secara instan, tinggal download dan kembangkan. Gabung sekarang juga! Premium Membership [PRIVATE] https://premium.codeorayo.com
  • You must be logged in to reply to this topic.