Showing posts with label Tutorial PHP. Show all posts
Showing posts with label Tutorial PHP. Show all posts

Saturday, February 9, 2019

Mengenal 9 Magic Constants di PHP

Mengenal 9 Magic Constants di PHP yang Mungkin Sering Kamu Gunakan


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.
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:
Hasil Magic Constants LINE
Kenapa hasilnya 3?
Karena lokasi konstanta __LINE__ berada di baris ke-3. Ini bisa kita lihat dengan teks editor.
Hasil Magic Constants LINE

2. Konstanta __FILE__

Konstanta ini akan berisi alamat lengkap (path) dari file PHP.
Contoh:
<?php
echo "File ini berada di: " . __FILE__;
?>
Hasilnya:
Hasil Magic Constants FILE

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:
Hasil Magic Constants DIR
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:
Hasil Magic Constants FUNCTION

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:
Hasil Magic Constants CLASS

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 constantsakan selalu berubah, tergantung di mana ia digunakan.
Ada beberapa magic constants yang sering digunakan, ada juga yang jarang.
Manakah yang paling sering kamu gunakan?
Read more

Konstanta Dalam PHP

Apa itu Konstanta?



Konstanta adalah hal dasar yang wajib kamu pahami apabila baru belajar PHP.
Pada artikel ini, kita akan berkenalan dan membahas tentang konstanta beserta contoh programnya.
Silahkan coba sendiri contoh-contohnya, agar lebih paham.
Baiklah…
Silahkan dimulai.

Apa itu Konstanta?

Konstanta seperti variabel. Ia bisa menyimpan nilai. Tapi tidak bisa diubah.
Contoh:
// kita punya konstanta dengan nilai 5
const SEBUAH_NILAI = 5

// lalu kita ubah menjadi 10
SEBUAH_NILAI = 10 // <-- maka akan terjad error di sini
Gak percaya?
Mari kita coba:
Error pada konstanta
Pada percobaan tersebut, kita membuat konstanta dengan nama SITE_NAMEdengan nilai Petanikode.
Lalu kita coba ubah nilainya menjadi Belajar PHP, tapi error.
Kenapa bisa error?
Karena sifat konstanta memang begitu. Nilai konstanta tidak bisa kita ubah-ubah seperti variabel.
Pengertian Konstanta

Kapan Kita Harus Menggunakan Konstanta?

Konstanta biasanya digunakan untuk menyimpan nilai yang tidak pernah berubah.
Contoh:
const PHI = 3.14;
const API_KEY = "182939812739812478u12ehj1h2u3123h12";
Pada dunia nyata, nilai PHI memang tidak akan pernah berubah. Lalu untuk API_KEY biasanya kita gunakan untuk mengakses sebuah web service dan nilai ini tidak akan pernah berubah di dalam program.
Jadi, kita bisa memikirkan…
…kapan harus menggunakan konstanta dan kapan harus menggunakan variabel.
Intinya:
Jika kita ingin menyimpan nilai yang tak akan pernah berubah, maka gunakanlah konstanta.
Sedangkan apabila nilai tersebut berubah-ubah di dalam program, maka gunakanlah variabel.

Cara Membuat Konstanta dan Contohnya

Pada PHP, kita dapat membuat konstanta dengan dua cara.
  1. Menggunakan fungsi define();
  2. Menggunakan kata kunci const.
Contoh:
<?php
// membuat konstanta dengan fungsi define()
define('DB_SERVER', 'localhost');
define('DB_USER', 'petanikode');
define('DB_PASS', 'R4Hasia');
define('DB_NAME', 'belajar');

// membuat konstanta dengan kata kunci const
const API_KEY = "1234";
?>
Nama konstanta diharuskan menggunakan huruf kapital agar mudah dibedakan dengan variabel. Meskipun di PHP menggunakan simbol dolar ($) untuk variabel, kita harus mengikuti aturan ini.
Cara membuat konstanta di PHP
Lalu, bagaimana cara mengambil nialai dari konstanta?
Sama seperti variabel, kita tinggal tulis namanya.
Contoh:
const SITE_NAME = "Petanikode";

echo "Nama situs: " . SITE_NAME;
Perhatikan!
Kita menggunakan titik (.) untuk menggabungkan dua buah string. Karena konstanta tidak menggunakan dolar, kita tidak bisa langsung menulisnya seperti ini:
echo "Nama situs: SITE_NAME";
Biar makin mantap, coba contoh program berikut:
<?php // file: belajar-konstanta.php

// membuat konstanta
define('VERSION', '1.0.0');

const SITE_NAME  = "Petanikode";
const BASE_URL    = "https://www.petanikode.com";

// cetak nilai konstanta
echo "Site name: " . SITE_NAME . "<br/>";
echo "URL: " . BASE_URL . "<br/>";
echo "Version: " . VERSION . "<br/>";
Hasilnya:
Contoh program konstanta

Apa Selanjutnya?



Kita sudah mengenal konstanta, lalu berikutnya apa?
Pada artikel ini, kita memang belum menggunakan konstanta untuk program yang lebih kompleks.
Sering-seringlah berlatih, bila kamu masih baru belajar PHP.
Sejauh pengalaman saya, biasanya konstanta sering digunakan seperti contoh-contoh di atas.
Semoga kedepan kamu tidak bingung bila melihat fungsi define() dan kata kunci const.
Ingat: itu adalah konstanta.
Selamat belajar…
Read more